一、 sql server日期时间函数
Sql Server中的日期与时间函数
1 .  当前系统日期、时间
select getdate ()

2 . dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime
例如:向日期加上2天
select dateadd ( day , 2 , ' 2004-10-15 ' ) -- 返回:2004-10-17 00:00:00.000

3 . datediff 返回跨两个指定日期的日期和时间边界数。
select datediff ( day , ' 2004-09-01 ' , ' 2004-09-18 ' ) -- 返回:17

4 . datepart 返回代表指定日期的指定日期部分的整数。
select DATEPART ( month , ' 2004-10-15 ' ) -- 返回 10

5 . datename 返回代表指定日期的指定日期部分的字符串
select datename (weekday, ' 2004-10-15 ' ) -- 返回:星期五

6 . day (), month (), year () -- 可以与datepart对照一下

select 当前日期 = convert ( varchar ( 10 ), getdate (), 120 )
,当前时间
= convert ( varchar ( 8 ), getdate (), 114 )

select datename (dw, ' 2004-10-15 ' )

select 本年第多少周 = datename (week, ' 2004-10-15 ' )
,今天是周几
= datename (weekday, ' 2004-10-15 ' )

二、日期格式转换

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM

函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值如下:

缩 写(Sql Server) Access 和 ASP 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
一、sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期、时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值   例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 –查询当天(2: select * from info where DateDiff(dd,datetime,getdate())=0 –前30天 SELECT * FROM A where datediff(d,datetime,getdate()) <=30 SELECT * FROM A WHERE DATEDIFF(m, shijian
-- 字符串 换函数 --convert --covert(类型(长度),表达式) select 'abc'+ convert(varchar,2) --把数字 换成 字符串 ,拼接 select convert(varchar(10),getdate(),100) -- 日期 格式 --cast --cast(数据 as 类型(长度)) select 'abc'+ cast(3 as varchar)
1、当前 日期 :CURRENT_DATE格式为:’2019-06-18’ 当前 时间 :CURRENT_TINE格式为:‘23:54:43’ 当前 日期 时间 :CURRENT_TIMESTAMP、current_timestamp()、now() 、sysdate()格式为:‘2019-06-18 23:56:00’ sysdate() 日期 时间 函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。如:select now(), ...
convert(datetime,‘YYYY-MM-DD HH24:MI:SS’) cast(‘YYYY-MM-DD HH24:MI:SS’ as datetime) select convert(datetime,'2018-08-08 08:08:08); 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM) 2. dateadd 在向指定 日期 加上一段 时间 的基础上,返回新的 datetime 值 例如:向 日期 加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定 日期 日期 时间 边界数。 sel...
SELECT CONVERT(VARCHAR(4), GETDATE(), 12) SELECT CONVERT(VARCHAR(6), GETDATE(), 12) SELECT CONVERT(VARCHAR(6), GETDATE(), 112) SELECT CONVERT(VARCHAR(8), GETDATE(), 112)
对某些表格数据进行查询时,常常有按照 时间 进行列值过滤的需求。 SQL Server 内置函数CONVERT(data_type(length),data_to_be_converted,style) 常见的两种 换需求: 1. 日期 --> 字符串 2. 字符串 --> 日期 select getdate(); -- datetime -- datetime --> string declare @dateti
My SQL SQL Server 是两种不同的关系型数据库管理系统,它们的语法有一些区别: 1. 数据类型:My SQL SQL Server 支持的数据类型有些不同,例如My SQL 支持SET和ENUM类型,而 SQL Server 不支持。 2. 日期 时间 函数:My SQL SQL Server 日期 时间 函数有些不同,例如My SQL 使用NOW()函数获取当前 日期 时间 ,而 SQL Server 使用GETDATE()函数。 3. 字符串 函数:My SQL SQL Server 字符串 函数也有些不同,例如My SQL 使用CONCAT()函数连接 字符串 ,而 SQL Server 使用"+"运算符。 4. 存储过程和函数:My SQL SQL Server 的存储过程和函数也有些不同,例如My SQL 使用DELIMITER语句定义存储过程和函数的分隔符,而 SQL Server 使用BEGIN和END语句。 总之,My SQL SQL Server 虽然都是关系型数据库管理系统,但它们的语法有一些不同,需要根据具体情况选择合适的语法。