当前位置: 代码网 > it编程>数据库>MsSqlserver > SqlServer日期格式转换

SqlServer日期格式转换

2024年08月03日 MsSqlserver 我要评论
SqlServer日期格式转换Select CONVERT(varchar(100), GETDATE()
一、常用格式转换

select convert(varchar(100), getdate(), 8): 10:57:46 
select convert(varchar(100), getdate(), 14): 10:57:46:967
select convert(varchar(100), getdate(), 20): 2020-05-16 10:57:47
select convert(varchar(100), getdate(), 21): 2020-05-16 10:57:47.157
select convert(varchar(100), getdate(), 23): 2020-05-16
select convert(varchar(100), getdate(), 24): 10:57:47
select convert(varchar(100), getdate(), 25): 2020-05-16 10:57:47.250 
select convert(varchar(100), getdate(), 102): 2020.05.16   
select convert(varchar(100), getdate(), 108): 10:57:49 
select convert(varchar(100), getdate(), 111): 2020/05/16
select convert(varchar(100), getdate(), 112): 20200516
select convert(varchar(100), getdate(), 120): 2020-05-16 10:57:49
select convert(varchar(100), getdate(), 121): 2020-05-16 10:57:49.700

二、函数

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

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

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

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

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

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

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

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

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

7. 时间格式:datename='2022年4月第1周',...,'2022年10月第4周',

    获取月份:replace(substring(datetime,6,2),'月','')

    获取周次:replace(right(datetime,3),'周','')

三、常用时间转换

--本周第一天

select dateadd(week, datediff(week, 0, getdate()), 0);
--本周最后一天
select dateadd(week, datediff(week, 0, getdate()), 6);
--上周第一天
select dateadd(week, datediff(week, 0, getdate())-1, 0);
--上周最后一天
select dateadd(week, datediff(week, 0, getdate())-1, 6);

--本月第一天
select dateadd(month, datediff(month, 0, getdate()), 0);
--本月最后一天
select dateadd(month, datediff(month, -1, getdate()), -1);
--上月第一天
select dateadd(month, datediff(month, 0, getdate())-1, 0)
--上月最后一天
select dateadd(month, datediff(month, -1, getdate())-1, -1)

--本季第一天
select dateadd(quarter , datediff(quarter ,0, getdate()), 0);
--本季最后一天
select dateadd(quarter , datediff(quarter , -1, getdate()), -1);
--上季第一天
select dateadd(quarter , datediff(quarter ,0, getdate())-1, 0);
--上季最后一天
select dateadd(quarter , datediff(quarter , -1, getdate())-1, -1);

--本年第一天
select dateadd(year, datediff(year, 0, getdate()), 0);
--本年最后一天
select dateadd(year, datediff(year, -1, getdate()), -1);
--上年第一天
select dateadd(year, datediff(year, 0, getdate()), 0);
--上年最后一天
select dateadd(year, datediff(year, 0, getdate()), -1);

--根据当前时间获取第几季度 202302表示2023年第2季度

select concat( year(getdate()), '0', (month(getdate())+2)/3 )

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com