sqlserver中得到当前日期(convert函数,getdate函数)
当前日期select convert(varchar(30), getdate(), 111)
sqlserver中得到当前日期(convert函数,getdate函数)
函数getdate()的返回值在显示时只显示到秒。实际上,sql sever内部时间可以精确到毫秒级(确切地说,可以精确到3.33毫秒)。 ..类型0,9,和13总是返回四位的年。对其它类型,要显示世纪,把style值加上100。类型13和14返回24小时时钟的时间。类型0,7,和 13返回的月份用三位字符表示(用nov代表november).
对表11.1中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。例如,要按日本标准显示日期,包括世纪,你应使用如下的语句:
select convert(varchar(30),getdate(),111)
在这个例子中,函数convert()把日期格式进行转换,显示为1997/11/30
要得到不同格式的日期和时间,你需要使用函数convert()。例如,当下面的这个语句执行时,显示的时间将包括毫秒:
select convert(varchar(30) getdate() 9)
注意例子中数字9的使用。这个数字指明了在显示日期和时间时使用哪种日期和时间格式。当这个语句执行时,将显示如下的日期和时间:
简体中文os:02 6 2007 4:33:56:530pm
英文os:nov 30 1997 3:29:55:170am
convert函数中的style参数提供了datetime或smalldatetime转换到char或varchar的多种日期显示格式。 style的数字参数决定日期被如何显示。年可以被显示成两位数(yy) 也可以显示成4位数(yyyy)。例如,将style参数赋值为100,可以得 到一个4位的年号,即包括世纪值(yyyy).
下表列出了style参数的可用值及可以使用的各种日期格式。当同smalldatetime类型一起使用style参数时,那些包括秒和毫秒的格式将在其位值显示零。
类型值 标准 输出
0 default mon dd yyyy hh:miam
1 usa mm/dd/yy
2 ansi yy.mm.dd
3 british/french dd/mm/yy
4 german dd.mm.yy
5 italian dd-mm-yy
6 - dd mon yy
7 - mon dd yy
8 - hh:mi:ss
9 default + millisecondsr11 mon dd yyyy hh:mi:ss:mmmam(or )
10 usa mm-dd-yy
11 japan yy/mm/dd
12 iso yymmdd
13 europe default + millisecondsr11 dd mon yyyy hh:mi:ss:mmm(24h)
14 - hh:mi:ss:mmm(24h)
类型值前面加1,比如101 则显示 mm/dd/yyyy
---------------------------------------------------------------------------------
有时侯在数据库的某些字段因特殊考虑的关系
这些字段是用char或nchar的格式来储存日期
如果希望将这些字段中转成一致的日期格式(如yyyy/mm/dd)
例如1988/1/1转成1988/01/01的话
请试着参考以下的语法…
select convert(varchar(10) convert(datetime employee_birthday 111) 111)
from employee
其它格式转换的范例如下:
--yyyy/mm/dd
select convert(varchar(10) getdate() 111)
--yyyymmdd
select convert(varchar(10) getdate() 112)
--hh:mm:ss
select convert(varchar(8) getdate() 108)
--hh:mm:ss:mmm
select convert(varchar(12) getdate() 114)
---------------------------------------------------------------------------------
如何用sql语言只获得数据库当前日期,且格式为" yyyy-mm-dd" ?
select convert(char(10) getdate() 120)
---------------------------------------------------------------------------------
--字符转换为日期时 style的使用
--1. style=101时 表示日期字符串为:mm/dd/yyyy格式
select convert(datetime ' 11/1/2003' 101)
--结果:2003-11-01 00:00:00.000
--2. style=101时 表示日期字符串为:dd/mm/yyyy格式
select convert(datetime ' 11/1/2003' 103)
--结果:2003-01-11 00:00:00.000
/== 日期转换为字符串 ==/
declare dt datetime
set dt=' 2003-1-11'
--1. style=101时 表示将日期转换为:mm/dd/yyyy 格式
select convert(varchar dt 101)
--结果:01/11/2003
--2. style=103时 表示将日期转换为:dd/mm/yyyy 格式
select convert(varchar dt 103)
--结果:11/01/2003
/== 这是很多人经常犯的错误 对非日期型转换使用日期的style样式 ==/
select convert(varchar ' 2003-1-11' 101)
--结果:2003-1-11
--1.
/--说明
set dateformat设置对使用convert把字符型日期转换为日期的处理也具有影响
但不影响明确指定了style的convert处理。
--/
--示例 ,在下面的示例中,第一个convert转换未指定style,转换的结果受set dataformat的影响,第二个convert转换指定了style,转换结果受style的影响。
--设置输入日期顺序为 日/月/年
set dateformat dmy
--不指定style参数的convert转换将受到set dateformat的影响
select convert(datetime ' 2-1-2005' )
--结果: 2005-01-02 00:00:00.000
--指定style参数的convert转换不受set dateformat的影响
select convert(datetime ' 2-1-2005' 101)
--结果: 2005-02-01 00:00:00.000
go
--2.
/--说明
如果输入的日期包含了世纪部分,则对日期进行解释处理时
年份的解释不受set dateformat设置的影响。
--/
--示例,在下面的代码中,同样的set dateformat设置,输入日期的世纪部分与不输入日期的世纪部分,解释的日期结果不同。
declare dt datetime
--设置set dateformat为:月日年
set dateformat mdy
--输入的日期中指定世纪部分
set dt=' 01-2002-03'
select dt
--结果: 2002-01-03 00:00:00.000
--输入的日期中不指定世纪部分
set dt=' 01-02-03'
select dt
--结果: 2003-01-02 00:00:00.000
go
--3.
/--说明
如果输入的日期不包含日期分隔符,那么sql server在对日期进行解释时
将忽略set dateformat的设置。
--/
--示例,在下面的代码中,不包含日期分隔符的字符日期,在不同的set dateformat设置下,其解释的结果是一样的。
declare dt datetime
--设置set dateformat为:月日年
set dateformat mdy
set dt=' 010203'
select dt
--结果: 2001-02-03 00:00:00.000
--设置set dateformat为:日月年
set dateformat dmy
set dt=' 010203'
select dt
--结果: 2001-02-03 00:00:00.000
--输入的日期中包含日期分隔符
set dt=' 01-02-03'
select dt
--结果: 2003-02-01 00:00:00.000
--以下示例演示了在不同的语言环境(set language)下,datename与convert函数的不同结果。
use master
--设置会话的语言环境为: english
set language n' english'
select
datename(month getdate()) as [month]
datename(weekday getdate()) as [weekday]
convert(varchar getdate() 109) as [convert]
/--结果:
month weekday convert
------------- -------------- -------------------------------
march tuesday mar 15 2005 8:59pm
--/
--设置会话的语言环境为: 简体中文
set language n' 简体中文'
select
datename(month getdate()) as [month]
datename(weekday getdate()) as [weekday]
convert(varchar getdate() 109) as [convert]
/--结果
month weekday convert
--日期转换参数 值得收藏
select convert(varchar getdate() 120 )
2004-09-12 11:06:08
select replace(replace(replace(convert(varchar getdate() 120 ) ' -' ' ' ) ' ' ' ' ) ' :' ' ' )
20040912110608
select convert(varchar(12) getdate() 111 )
2004/09/12
select convert(varchar(12) getdate() 112 )
20040912
select convert(varchar(12) getdate() 102 )
2004.09.12
其它我不常用的日期格式转换方法:
select convert(varchar(12) getdate() 101 )
09/12/2004
select convert(varchar(12) getdate() 103 )
12/09/2004
select convert(varchar(12) getdate() 104 )
12.09.2004
select convert(varchar(12) getdate() 105 )
12-09-2004
select convert(varchar(12) getdate() 106 )
12 09 2004
select convert(varchar(12) getdate() 107 )
09 12 2004
select convert(varchar(12) getdate() 108 )
11:06:08
select convert(varchar(12) getdate() 109 )
09 12 2004 1
select convert(varchar(12) getdate() 110 )
09-12-2004
select convert(varchar(12) getdate() 113 )
12 09 2004 1
select convert(varchar(12) getdate() 114 )
11:06:08.177
分享到:
相关推荐
SQL Server 中获取当前日期 SQL Server 中获取当前日期是通过使用 GETDATE() 函数或 CONVERT 函数来实现的。GETDATE() 函数返回当前日期和时间,而 CONVERT 函数可以将日期和时间格式化输出。 GETDATE() 函数 ...
### SQL Server中日期问题的解决 在Microsoft SQL Server(以下简称SQL Server)中处理日期和时间时,经常会遇到一些挑战。由于SQL Server默认只提供`DATETIME`数据类型来存储日期和时间信息,这使得在某些情况下仅...
同样地,SQL Server也支持类似的日期运算,如`DATEADD(day, 100, GETDATE())`表示在当前日期基础上加上100天,这在财务报表、合同到期提醒等场景下有着广泛的应用。 ### 总结 掌握在SQL Server中对时间日期的操作...
SQL Server还提供了一些内置函数,如`GETDATE()`获取当前日期,`DATEFROMPARTS()`构建日期等,这些都可以在格式转换过程中发挥作用。 8. 自定义格式 如果以上方法都不能满足需求,可以创建自定义函数,利用字符串...
在SQL Server中,日期型字段设默认值是一个重要的功能,它允许数据库管理员或开发者为特定的日期字段设定一个默认的时间点,通常是当前时间或者基于当前时间的某个偏移量。这在创建新记录时非常有用,可以自动填充...
在本文中,我们将详细介绍 SQL Server 中的日期函数,包括字符转日期、日期转字符串等方面的知识点。 日期函数概述 SQL Server 中的日期函数可以分为两大类:日期和时间函数、字符串和日期函数。日期和时间函数...
### SqlServer 日期处理函数详解 #### 概述 SqlServer 提供了一系列强大的日期处理函数,这些函数可以帮助开发者和数据库管理员高效地操作日期和时间数据。本文档将详细介绍几个常用的日期处理函数及其应用场景,并...
SQL Server 中按年月日生成日期型自增编码 本文档介绍了在 SQL Server 中生成日期型自增编码的方法,通过创建两个函数 `GenCustomCode` 和 `GenCustomID`,可以生成按年月日的日期型自增编码。该方法可以应用于各种...
在SQL SERVER 2005中,日期时间类型的处理是数据库操作中的常见任务,涉及到数据存储、查询和计算。本文将详细阐述SQL SERVER 2005提供的两种主要日期时间类型:datetime和smalldatetime,以及它们的使用方法。 1. ...
在探讨SQL Server中进行日期计算的方法之前,我们必须了解SQL Server中处理日期和时间的基本函数:DATEDIFF和DATEADD。这两个函数在实际应用中非常常用,可以帮助我们得到两个日期间的时间间隔以及通过已知时间间隔...
在C#编程中,SQL Server的时间戳(TimeStamp)字段是一个特殊的数据类型,它与我们通常理解的日期时间无关,而是用来记录数据行的版本或更改信息。本文将深入探讨如何在C#中读取和更新SQL Server中的Timestamp字段。...
sqlserver获取当前时间并只需要年月日小时,使用GETDATE和convert函数达到目的
SQL Server 和 C# 中的 DateTime 使用小结 SQL Server 中的日期函数是数据库管理系统中非常重要的一部分,它提供了多种日期函数来操作日期类型的数据。同时,在 C# 中也提供了多种方法来处理日期类型的数据。本文将...
- 使用`DATEADD()`函数获取指定月份的下个月第一天,然后减去当前月份最后一天的日期得到当前月份的结束日期。 - 开始日期设置为当前月份的第一天。 - **计算周的数量**:根据月份的开始日期和结束日期计算出包含...
sqlserver日期推算(年,季度,月,星期推算) 源码 sql源码
### Sql Server中的日期与时间函数 在SQL Server中,日期与时间函数是非常重要的工具,用于处理日期和时间数据。这些函数可以帮助我们获取当前系统日期、时间,并进行各种日期时间的操作,比如添加或减去一定的时间...
在 SQL Server 中,可以使用 GETDATE() 函数来获取当前日期时间。GETDATE() 函数返回当前系统日期和时间。 示例: ```sql SELECT GETDATE(); ``` 二、日期格式转换 SQL Server 提供了 CONVERT 函数来将日期转换为...
例如,`DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)`会得到当前日期所在的季度首日。 - 月份第一天:类似地,`DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)`会返回当前月的第一天。 - 系统时间:`GETDATE()...
本文将围绕《SqlServer转换Oracle.docx》文档中的关键知识点进行详细解析,帮助读者更好地理解和掌握SQL Server到Oracle迁移过程中的技术要点。 #### 二、连接字符串与数据源处理 在文档中提到了一种获取连接字符串...