getdate 格式(),120),1,4 ...

T-SQL日期处理总结
1. T-SQL 日期格式转换
由原始的值 10:57:06.127转换成以下20种常用的格式
04/03/2012&
03/04/2012&
03.04.2012&
03-04-2012&
03 Apr 2012&
Apr 03, 2012&
Apr &3 2012&
04-03-2012&
03 Apr 2012&
10:57:06:127&
10:57:06:127
& &1: &--由 10:23:10.177转换成&
& &2: &SELECT GETDATE() AS Val,Convert(char(11),GETDATE(),120) AS NeedVal&
& &4: &--由 10:23:10.177转换成&
& &5: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 112 ) AS NeedVal&
& &7: &--由 10:23:10.177转换成&
& &8: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 102 ) AS NeedVal&
& 10: &--由 10:23:10.177转换成04/03/2012 月日年
& 11: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 101 ) AS NeedVal&
& 13: &--由 10:23:10.177转换成03/04/2012 日月年
& 14: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 103 ) AS NeedVal&
& 16: &--由 10:23:10.177转换成03.04.2012 日月年
& 17: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 104 ) AS NeedVal&
& 19: &--由 10:23:10.177转换成03-04-2012 日月年
& 20: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 105 ) AS NeedVal&
& 22: &--由 10:23:10.177转换成03 Apr 2012 日月年
& 23: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 106 ) AS NeedVal&
& 25: &--由 10:23:10.177转换成Apr 03, 2012
& 26: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 107 ) AS NeedVal&
& 28: &--由 10:23:10.177转换成10:44:02
& 29: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 108 ) AS NeedVal&
& 31: &--由 10:23:10.177转换成Apr &3 2012&
& 32: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 109 ) AS NeedVal&
& 34: &--由 10:23:10.177转换成04-03-2012
& 35: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 110 ) AS NeedVal&
& 37: &--由 10:23:10.177转换成
& 38: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 111 ) AS NeedVal&
& 40: &--由 10:23:10.177转换成
& 41: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 112 ) AS NeedVal&
& 43: &--由 10:23:10.177转换成03 Apr 2012&
& 44: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 113 ) AS NeedVal&
& 46: &--由 10:23:10.177转换成10:45:45:447
& 47: &select GETDATE() AS Val,CONVERT(varchar(12) , getdate(), 114 ) AS NeedVal&
& 49: &--由 10:23:10.177转换成
& 50: &SELECT GETDATE() AS Val,REPLACE(CONVERT(varchar(10),GETDATE(),120),N'-0','-') AS NeedVal&
& 52: &--由 10:23:10.177转换成日
& 53: &SELECT GETDATE() AS Val,STUFF(STUFF(CONVERT(char(8),GETDATE(),112),5,0,N'年'),8,0,N'月')+N'日' AS NeedVal&
& 55: &--由 10:23:10.177转换成日
& 56: &SELECT &GETDATE() AS Val,DATENAME(Year,GETDATE())+N'年'+CAST(DATEPART(Month,GETDATE()) AS varchar)+N'月'+DATENAME(Day,GETDATE())+N'日' AS NeedVal&
& 58: &--由 10:23:10.177转换成 10:23:10.177
& 59: &SELECT GETDATE() AS Val,CONVERT(char(11),GETDATE(),120)+CONVERT(char(12),GETDATE(),114) AS NeedVal &
2. T-SQL 日期推算
给定日期,得到该年的第一天和最后一天
给定日期所在季度的第一天和最后一天
给定日期所在月份的第一天或最后一天
给定日期所在周的取星期几的日期,星期天做为一周的第1天
& &1: &--给定日期,得到该年的第一天和最后一天
& &2: &SELECT CONVERT(char(5),GETDATE(),120)+'1-1' AS FDATE,CONVERT(char(5),GETDATE(),120)+'12-31' LDTAE
& &4: &--给定日期所在季度的第一天和最后一天,两种方法算最后一天
& &5: &SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE())-2,GETDATE()),120)+'1') AS FDATE
& &6: & & &,CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE()),GETDATE()),120)
& &7: & & & & &+CASE WHEN DATEPART(Quarter,GETDATE()) in(1,4)
& &8: & & & & & & &THEN '31'ELSE '30' END) AS LDATE
& &9: & & & & & & &
& 10: & & & & & & &
& 11: &SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE())-2,GETDATE()),120)+'1') AS FDATE
& 12: & & &,DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,GETDATE())*3-Month(GETDATE()),GETDATE()),120)+'1') AS LDATE
& 14: &--给定日期所在月份的第一天和最后一天
& 15: &SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1') AS FDATE,DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,GETDATE()),120)+'1') AS LDATE & &
& 17: &--给定日期所在周的取星期几的日期,星期天做为一周的第1天
& 18: &SELECT DATEADD(Day,0-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 19: &SELECT DATEADD(Day,1-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 20: &SELECT DATEADD(Day,2-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 21: &SELECT DATEADD(Day,3-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 22: &SELECT DATEADD(Day,4-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 23: &SELECT DATEADD(Day,5-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 24: &SELECT DATEADD(Day,6-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
& 26: &--昨天
& 27: &SELECT DATEADD(Day,-1,GETDATE())
& 28: &--前天
& 29: &SELECT DATEADD(Day,-2,GETDATE())
& 30: &--明天
& 31: &SELECT DATEADD(Day,1,GETDATE())
& 32: &--后天
& 33: &SELECT DATEADD(Day,2,GETDATE())
& 35: &--上一年
& 36: &SELECT DATEADD(year,-1,GETDATE())
& 38: &--下一年
& 39: &SELECT DATEADD(year,1,GETDATE())
& 41: &--上季度
& 42: &SELECT DATEADD(quarter,-1,GETDATE())
& 44: &--下季度
& 45: &SELECT DATEADD(quarter,1,GETDATE())
& 47: & --上月
& 48: &SELECT DATEADD(month,-1,GETDATE())
& 50: &--下月
& 51: &SELECT DATEADD(month,1,GETDATE())
& 53: & --上周
& 54: &SELECT DATEADD(week,-1,GETDATE())
& 56: &--下周
& 57: &SELECT DATEADD(week,1,GETDATE())
& 59: & --前一小时
& 60: &SELECT DATEADD(hour ,-1,GETDATE())
& 62: &--后一小时
& 63: &SELECT DATEADD(hour ,1,GETDATE())
& 65: & --前一分钟
& 66: &SELECT DATEADD(minute,-1,GETDATE())
& 68: &--后一分钟
& 69: &SELECT DATEADD(minute,1,GETDATE())
& 71: & --前一秒
& 72: &SELECT DATEADD(second ,-1,GETDATE())
& 74: &--后一秒
& 75: &SELECT DATEADD(second ,1,GETDATE())
3. T-SQL日期运算
SELECT DATEDIFF(year, '', ''); --两日期差异年的运算&
SELECT DATEDIFF(quarter, '', ''); --两日期差异季度的运算&
SELECT DATEDIFF(day, '', ''); --两日期差异日的运算&
SELECT DATEDIFF(week, '', ''); --两日期差异周的运算&
SELECT DATEDIFF(hour, '', ''); --两日期差异小时的运算&
SELECT DATEDIFF(minute, '', ''); --两日期差异分钟的运算&
SELECT DATEDIFF(second, '', ''); --两日期差异秒的运算
作者 谢堂文(Darren Xie)
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'23717人阅读
如何用sql语言只获得数据库当前日期,且格式为&yyyy-mm-dd&?
select convert(char(10),getdate(),120)
select&& *&& from&&&表名&& where&& convert(char(10),字段名,120)=''
SqlServer中得到当前日期(convert函数,getdate函数)
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()把日期格式进行转换,显示为
要得到不同格式的日期和时间,你需要使用函数CONVERT()。例如,当下面的这个语句执行时,显示的时间将包括毫秒:
SELECT CONVERT(VARCHAR(30),GETDATE(),9)
注意例子中数字9的使用。这个数字指明了在显示日期和时间时使用哪种日期和时间格式。当这个语句执行时,将显示如下的日期和时间:
简体中文OS:02&& 6 2007&& 4:33:56:530PM
英文OS:Nov 30 :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)
例如转成的话
请试着参考以下的语法…
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/)
--结果: 00:00:00.000
--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式
SELECT CONVERT(datetime,'11/1/)
--结果: 00:00:00.000
/*== 日期转换为字符串 ==*/
DECLARE @dt datetime
SET @dt=''
--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,'',101)
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')
00:00:00.000
--指定Style参数的CONVERT转换不受SET DATEFORMAT的影响
SELECT CONVERT(datetime,'2-1-)
00:00:00.000
如果输入的日期包含了世纪部分,则对日期进行解释处理时
年份的解释不受SET DATEFORMAT设置的影响。
--示例,在下面的代码中,同样的SET DATEFORMAT设置,输入日期的世纪部分与不输入日期的世纪部分,解释的日期结果不同。
DECLARE @dt datetime
--设置SET DATEFORMAT为:月日年
SET DATEFORMAT MDY
--输入的日期中指定世纪部分
SET @dt='01-2002-03'
SELECT @dt
00:00:00.000
--输入的日期中不指定世纪部分
SET @dt='01-02-03'
SELECT @dt
00:00:00.000
如果输入的日期不包含日期分隔符,那么SQL Server在对日期进行解释时
将忽略SET DATEFORMAT的设置。
--示例,在下面的代码中,不包含日期分隔符的字符日期,在不同的SET DATEFORMAT设置下,其解释的结果是一样的。
DECLARE @dt datetime
--设置SET DATEFORMAT为:月日年
SET DATEFORMAT MDY
SET @dt='010203'
SELECT @dt
00:00:00.000
--设置SET DATEFORMAT为:日月年
SET DATEFORMAT DMY
SET @dt='010203'
SELECT @dt
00:00:00.000
--输入的日期中包含日期分隔符
SET @dt='01-02-03'
SELECT @dt
00:00:00.000
--以下示例演示了在不同的语言环境(SET LANGUAGE)下,DATENAME与CONVERT函数的不同结果。
USE master
--设置会话的语言环境为: English
SET LANGUAGE N'English'
DATENAME(Month,GETDATE()) AS [Month],
DATENAME(Weekday,GETDATE()) AS [Weekday],
CONVERT(varchar,GETDATE(),109) AS [CONVERT]
Month&&& Weekday&& CONVERT
------------- -------------- -------------------------------
March&&& Tuesday&& Mar 15 PM
--设置会话的语言环境为: 简体中文
SET LANGUAGE N'简体中文'
DATENAME(Month,GETDATE()) AS [Month],
DATENAME(Weekday,GETDATE()) AS [Weekday],
CONVERT(varchar,GETDATE(),109) AS [CONVERT]
Month&&& Weekday&&& CONVERT
------------- --------------- -----------------------------------------
05&&&&&& 星期四&&&& 05 19 :20:607PM
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:198399次
积分:2992
积分:2992
排名:第7986名
原创:106篇
转载:49篇
评论:19条
(1)(1)(3)(6)(1)(7)(1)(1)(1)(1)(1)(1)(12)(1)(1)(2)(3)(4)(6)(1)(5)(2)(5)(1)(1)(3)(1)(8)(3)(3)(1)(4)(2)(1)(1)(5)(1)(2)(1)(2)(4)(2)(5)(3)(2)(1)(3)(4)(9)(12)(2)1.获取系统当前时间
select convert(varchar(10),getdate(),120)
--获取当前日期
SELECT CONVERT(DATE,GETDATE(),110) --获取当前日期
SELECT CONVERT(DATETIME,GETDATE(),110) --获取当前时间日期
SELECT CONVERT(VARCHAR(50),GETDATE(),108)
--获取当前时刻
2.DateName&( datepart , date )返回表示指定日期的指定日期部分的字符串。
--今天是--星期二
SELECT DATENAME(year, getdate()) AS 'Year Name' --------返回:2009
SELECT DATENAME(Month, getdate()) AS 'Month Name' --获取当前年份(月、日、时、分、秒同理)
SELECT DATENAME(weekday, getdate()) AS 'Weekday Name' --当前日期所在周几3.DATEADD&(datepart
, number, date ),在向指定日期加上一段时间的基础上,返回新的 datetime 值
select DateAdd(MM,2,'') --------------返回: 00:00:00.000
select DateAdd(dd,2,'') --------------返回: 00:00:00.000
select dateadd(hh,-1,getdate()) --------------返回: 12:46:46.450,返回前一个小时的时间--获取当前日期所在周的周一
select dateadd(day, datepart(weekday,getdate()),getdate())--获取本周一日期
SELECT CONVERT(DATE,DATEADD(wk, DATEDIFF(week,0,getdate()),0),110) --获取本周一日期
4.DATEDIFF&( date-part, date-expression-1, date-expression-2
)&&返回两个日期之间的间隔。
  此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2 - date1)的有符号的整数值。
SELECT datediff( hour, '4:00AM', '5:50AM' )---------------------------返回: 1
SELECT datediff( month, '', '' )------------------返回: 102
SELECT datediff( day, '00:00', '23:59' )------------------------------返回:0
SELECT datediff( day,
' 00:00',
' 23:59' )------返回:4
SELECT datediff( month, '', '' )------------------返回:0
SELECT datediff( month, '', '' )------------------返回:1实例:查询当天更新的数据&
select * from tableName where datediff(dd,F_EditTime,getdate())=05.DATEPART&(&datepart&,date&)返回代表指定日期的指定日期部分的整数。
--今天是 星期二
SELECT DATEPART(year,getdate()) as 'Year'
--------返回:2009
SELECT DATEPART(month,getdate()) as 'Month'
---------返回:2
SELECT DATEPART(weekday,getdate()) as 'Weekday' ---------返回:3,如:Sunday = 1、Saturday = 7
SELECT DAY(getdate())
-----------------------返回:24备注:DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd,&date)、DATEPART(mm,&date)、和
DATEPART(yy,&date)
的同义词。
以下的文章主要描述的是SQL Server使用convert取得datetime日期数据的实际操作流程,在实际操作中用SQL Server数据库中用convert来获取datetime日期数据,以下实例包含各种日期格式的转换。
语句及查询结果:
SQL Server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换
语句及查询结果:
SQL Server使用convert:
expression
是任何有效的 Microsoft? SQL Server? 表达式。。
目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。
不带世纪数位 (yy) 带世纪数位 (yyyy)
输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
- 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM
* 默认值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为 datetime时输入;当转换为字符数据时输出。
*** 专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。
****Hijri 是具有几种变化形式的日历系统,Microsoft? SQL Server? 2000 使用其中的科威特算法。
重要 默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。
SQL Server 提供一个配置选项(&两位数字的截止年份&),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。
当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 char 或 varchar 数据类型长度来截断不需要的日期部分。
以上的相关内容就是对SQL Server使用convert来取得datetime日期数据的介绍,望你能有所收获。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:31668次
排名:千里之外
原创:23篇
转载:17篇
(1)(1)(9)(8)(1)(1)(5)(2)(1)(10)}

我要回帖

更多关于 getdate 格式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信