您的位置:首页 > 数据库

SQL日期处理函数

2009-07-16 09:29 218 查看

SQL日期处理函数

保存于:2009年7月15日 16时15分32秒

举报




SQL日期处理函数


日期增减函数
DATEADD ( datepart , number, date )
datepart:日期部分
缩写
含义
Year
yy , yyyy
年份
Quarter
qq , q
季度
Month
mm , m
月份
Dayofyear
dy,y

Day
dd , d
Week
wk , ww
星期
Hour
Hh
小时
Minute
mi , n
分钟
Second
ss , s

Millisecond
Ms
毫秒

功能说明
语法
参数及返回值数据类型说明
返回代表指定日期的指定日期部分的字符串
DATENAME(datepart,date)
datepart是指定应返回的日期部分的参数,其定义如表2-3所示。date是返回datetime或smalldatetime值或日期格式字符串的表达式。DATENAME函数返回nvarchar,DATEPART函数返回int
返回代表指定日期的指定日期部分的整数
DATEPART(datepart,date)
返回表示指定日期中的年份的整数
YEAR(date)
返回int
返回表示指定日期中的月份的整数
MONTH(date)
返回int
返回表示指定日期中的天的整数
DAY(date)
返回int

日期差值计算函数
日期差值计算函数用于计算两个给定日期指定部分的边界数,SQL Server提供的日期差值计算函数为DATEDIFF。
DATEDIFF的具体语法如下:
DATEDIFF ( datepart , startdate , enddate )
其中包括以下参数。
? datepart:规定了应在日期的哪一部分计算差额,其定义如表2-1所示。
? startdate:规定了计算的开始日期。
? enddate:规定了计算的终止日期。
返回类型:integer

其他日期处理相关函数
其他常用的日期处理相关函数包括以下几个。
1. GETDATE
GETDATE按照datetime值返回当前系统日期和时间。
GETDATE的语法如下:
GETDATE()
返回类型:datetime
2. ISDATE
ISDATE确定输入的表达式是否有效日期。
在输入日期表达式时,日期都是以日期格式的字符串提供的,由于不同的区域有不同的日期格式,所以并不能保证输入的日期表达式能够被SQL Server识别,这种情况下,就需要用ISDATE来判断日期表达式能否正确地被SQL Server识别了。
ISDATE的语法如下:
ISDATE(expression)
返回类型:int
3. CONVERT
CONVERT将某种数据类型的表达式显式转换为另一种数据类型。
严格来说,CONVERT不属于日期处理函数,只是它被经常用于日期处理中,所以这里把它列入了其他日期处理函数,下面是CONVERT的用法描述(只重点说明在日期处理中的应用)。
CONVERT的具体语法如下:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
其中包括以下参数。
? expression:是要转换数据类型的有效SQL Server表达式。
? data_type:是expression转换后的数据类型,length是对于有精度定义需要的data_type的精度定义,对于没有精度定义需要的data_type,该参数可以省略。
? style:定义数据类型转换时的格式,对于日期类型的转换,它的定义如表2-4所示。
表2-4 style在日期转换中的说明
不带世纪数位
带世纪数位
标准
输入/输出

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-ddThh:mm:ss.mmm

130
Hijri
dd mon yyyy hh:mi:ss:mmmAM

131
Hijri
dd/mm/yy hh:mi:ss:mmmAM
eg:--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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: