【数据库-SQLServer】时间-日期语法

本文详细介绍了SQL中常用的日期和时间处理函数,包括获取当前日期时间、日期加减运算等功能,并通过实例展示了如何使用这些函数来操作数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Select * from demo_table	WHERE	CONVERT(VARCHAR (20),key_Time,120) >= LEFT(CONVERT(VARCHAR(20),getdate(),120),10)
#语法 转换成字符串
#convert(data_type(length),data_to_be_converted,style)

#获取当前日期-时间
#getdate() 

#获取字符串的左侧指定长度字符串
#left(string,length)

#Style ID	:Style 格式
#100 或者 0	:mon dd yyyy hh:miAM (或者 PM)
#101:mm/dd/yy
#102:yy.mm.dd
#103:dd/mm/yy
#104:dd.mm.yy
#105:dd-mm-yy
#106:dd mon yy
#107:Mon dd, yy
#108:hh:mm:ss
#109 或者 9:mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
#110:mm-dd-yy
#111:yy/mm/dd
#112:yymmdd
#113 或者 13:dd mon yyyy hh:mm:ss:mmm(24h)
#114:hh:mi:ss:mmm(24h)
#120 或者 20:yyyy-mm-dd hh:mi:ss(24h)
#121 或者 21:yyyy-mm-dd hh:mi:ss.mmm(24h)
#126:yyyy-mm-ddThh:mm:ss.mmm(没有空格)
#130:dd mon yyyy hh:mi:ss:mmmAM
#131:dd/mm/yy hh:mi:ss:mmmAM

#示例
#CONVERT(VARCHAR(19),GETDATE())
#Dec 29 2008 11:45 PM

#CONVERT(VARCHAR(10),GETDATE(),110) 
#12-29-2008

#CONVERT(VARCHAR(11),GETDATE(),106)
#29 Dec 08

#CONVERT(VARCHAR(24),GETDATE(),113)
#29 Dec 2008 16:25:46.635

#1.获取系统当前日期的函数getDate();
#getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.
select getDate() as currentTime;

#2.返回UTC日期的函数UTCDATE()
#UTCDATE()函数返回当前UTC(世界标准时间)日期值.
select  getDate() as currentTime;

#3.获取天数的函数DAY(d)
#DAY(d)函数用于返回指定日期的d是一个月中的第几天,范围从1~31,该函数在功能上等价于DATEPART(dd,d)。
select  DAY('2015-04-30 01:01:01');

#4.获取月份的函数MONTH(d)
#MONTH(d)函数用于返回指定日期d中月份的整数值。
SELECT  MONTH('2015-04-30')AS monthValue;

#5.获取年份的函数YEAR(d)
#YEAR(d)函数返回指定日期d中年份的整数值。
SELECT  YEAR('2015-04-30'),YEAR('1997-07-01');

#6.获取日期中指定部分字符串值的函数DATENAME(dp,d)
#DATENAME(dp,d)根据dp指定返回日期中相应部分的值,例如YEAR返回日期中的年份值,MONTH返回日期中的月份值,dp其它可以取的值有:quater,dayofyear,day,week,weekday,hour,minute,second等。
SELECT DATENAME(year,'2015-04-30 01:01:01') AS yearValue,
       DATENAME(quarter,'2015-04-30 01:01:01') AS quaterValue,
       DATENAME(dayofyear,'2015-04-30 01:01:01') AS dayofyearValue,
       DATENAME(day,'2015-04-30 01:01:01') AS dayValue,
       DATENAME(week,'2015-04-30 01:01:01') AS weekValue,
       DATENAME(weekday,'2015-04-30 01:01:01') AS weekdayValue,
       DATENAME(hour,'2015-04-30 01:01:01') AS hourValue,
       DATENAME(minute,'2015-04-30 01:01:01') AS minuteValue,
       DATENAME(second,'2015-04-30 01:01:01') AS secondValue;


#7.获取日期中指定部分的整数值的函数DATEPART(dp,d)
#DATEPART(dp,d)函数返回指定日期中相应的部分的整数值,dp的取值与DATETIME函数相同。
SELECT  DATEPART(year,'2015-04-30 01:01:01'),
        DATEPART(month,'2015-04-30 01:01:01'),
        DATEPART(dayofyear,'2015-04-30 01:01:01');

#8.计算日期和时间的函数DATEADD(dp,num,d)
#DATEADD(dp,num,d)函数用于执行日期的加运算,返回指定日期值加上一个时间段后的新日期。dp指定日期中进行加法运算的部分值,例如:year,month,day,hour,minute,second,millsecond等,num指定与dp相加的值,如果该值为非整数值,将舍弃该值的小数部分,d为执行加法运算的日期。
SELECT    DATEADD(year,1,'2015-04-30 01:01:01') AS yearAdd,
        DATEADD(month ,2, '2015-04-30 01:01:01') AS weekdayAdd,
        DATEADD(hour,2,'2015-04-30 01:01:01') AS hourAdd;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值