SQL 日期函数

本文详细介绍了SQL中CONVERT函数的使用方法,用于日期与字符串类型的相互转换,并提供了多种风格的示例。同时,文章还讲解了如何利用SQL函数获取特定日期在年度中的周数和天数,以及其他日期相关操作。

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

主要说明两个 一个是sql中的日期函数CONVERT的用法和如何获取某天的是本年内的第几周或者第几天或者......

1、SQL中CONVERT转化函数的用法
说明:
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到.


格式:
CONVERT(data_type,expression[,style])

例子:
Select CONVERT(varchar(30),getdate(),101) now
结果为
now
---------------------------------------
09/15/2001

select CONVERT(varchar(60) , getdate(), 110) as now


style数字在转换时间时的含义如下

-------------------------------------------------------------------------------------------------
Style(2位表示年份) | Style(4位表示年份) | 输入输出格式
-------------------------------------------------------------------------------------------------
100 | mon dd yyyy hh:miAM(或PM)                              例: 06  7 2007  4:31PM
-------------------------------------------------------------------------------------------------
101 | mm/dd/yy                     例: 06/07/2007
-------------------------------------------------------------------------------------------------
102 | yyyy.mm.dd         例: 2007.06.07 
-------------------------------------------------------------------------------------------------
103 | dd/mm/yy          例: 07/06/2007 
-------------------------------------------------------------------------------------------------
104 | dd.mm.yy          例: 07.06.2007 
-------------------------------------------------------------------------------------------------
105 | dd-mm-yy          例: 07-06-2007 
-------------------------------------------------------------------------------------------------
106 | dd mon yy         例: 07 06 2007
-------------------------------------------------------------------------------------------------
107 | mon dd,yy         例: 06 07, 2007 
-------------------------------------------------------------------------------------------------
108 | hh:mm:ss        时间  例: 16:37:01 
-------------------------------------------------------------------------------------------------
109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)      例: 06  7 2007  4:37:17:900PM 
-------------------------------------------------------------------------------------------------
110 | mm-dd-yy          例: 06-07-2007 
-------------------------------------------------------------------------------------------------
111 | yy/mm/dd          例: 2007/06/07
-------------------------------------------------------------------------------------------------
112 | yymmdd          例: 20070607
-------------------------------------------------------------------------------------------------
113 | dd mon yyyy hh:mi:ss:mmm(24小时制)      例: 07 06 2007 16:38:35:967 
-------------------------------------------------------------------------------------------------
114 | hh:mi:ss:mmm(24小时制)      时间  例: 16:39:00:060 
-------------------------------------------------------------------------------------------------
120 | yyyy-mm-dd hh:mi:ss(24小时制)        例: 2007-06-07 16:39:17 
-------------------------------------------------------------------------------------------------
121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)      例: 2007-06-07 16:39:30.580
-------------------------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

获取今天的日期
select getDate() as todayDate 结果如:2007-06-07 16:44:27.173

2、获取某天的是本年内的第几周或者第几天或者......
    getdate() 返回日期

  datename(datepart,date_expr) 返回名称如 June

  datepart(datepart,date_expr) 取日期一部份

  datediff(datepart,date_expr1.dateexpr2) 日期差

  dateadd(datepart,number,date_expr) 返回日期加上 number


其中 date_expr是日期表达式; datepart 是个表达式 其参数如下:

    yy 1753-9999           返回某年份

  qq 1-4 刻     返回某个时间里的某个时刻

   mm 1-12 月             返回某个月份

  dy 1-366 日            返回某日是当年内的第几天

  dd 1-31 日             返回某日是当月内的第几天

  wk 1-54 周             返回某天是当年内的第几周

  dw 1-7 周几            返回某日是当周内的星期几

  hh 0-23 小时     返回某日的当前是几点钟

  mi 0-59 分钟    返回某日的当前是几分钟

  ss 0-59 秒     返回某日的当前是第几秒钟

  ms 0-999 毫秒    返回某日的当前是第几号秒

转载于:https://www.cnblogs.com/yangxiaohu1/archive/2010/10/29/1864635.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值