1.不转换日期类型获取年月日
select convert(date,getdate(),23)
2. 转换成字符类型获取年月日
select convert(char(10),getdate(),120)
char的位数可以决定截取的长度,比如char(7)则只会显示年月:2023-01
3. 获取月初
select dateadd(day,-day(getdate())+1,getdate())
4.获取月末
select dateadd(day,-day(getdate()),dateadd(month,1,getdate()))
附:日期相关函数整理
- getdate() :获取当前时间,时间格式默认。
- datename:参数为两个,取值区间 interval 和时间 date
date 就是时间;
interval 包括 年,月,日,星期等
e.g:
- year 年;yyyy 年;yy 年;
- quarter 季度;qq 季度 ;q 季度;
- month 月(04);mm 月(04);m 月(04);
- weekday 星期几;dw 星期几;w 星期几;
- week 一年的第几周;wk 一年的第几周;ww 一年的第几周;isowk 一年的第几周;isoww 一年的第几周;iso_week 一年的第几周;
- day 天;dd 天;d 天;
- dayofyear 一年的第几天;dy 一年的第几天;y 一年的第几天;
- hour 小时;hh 小时;
- minute 分钟;mi 分钟;n 分钟;
- second 秒;ss 秒;s 秒;
- mcs 微秒(略);microsecond 微秒(略);millisecond 毫秒(略);ms 毫秒(略) ; nanosecond 十亿分之一秒(略);ns 十亿分之一秒(略);
- datepart:参数参考datename,不过返回值不一样,datename返回varchar,datepart返回int
- convert 函数转换格式:主要注意第三个参数 date_style ;格式:select convert(varchar,getdate(),0)
最后的 date_style 可以有 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,100,
101,102,103,104,105,106,107,108,109,110,111,112,113,114,120,121,126,127,130,131等
常用的 20,23,24,102,111,112,120等;
示例:
select convert(varchar,getdate(),20) --2018-04-23 14:44:22 select convert(varchar,getdate(),23) --2018-04-23 select convert(varchar,getdate(),24) --14:44:22 select convert(varchar,getdate(),102) --2018.04.23 select convert(varchar,getdate(),111) --2018/04/23 select convert(varchar,getdate(),112) --20180423
字符串转日期:
select convert(datetime,'2018-04-23',20)
总结
到此这篇关于sql server只取年月日和获取月初月末的文章就介绍到这了,更多相关sqlserver只取年月日内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论