Mssql数据库日期格式处理
侧边栏壁纸
  • 累计撰写 35 篇文章
  • 累计收到 115 条评论

Mssql数据库日期格式处理

who
who
2021-12-26 / 1 评论 / 192 阅读 / 正在检测是否收录...

基本格式

系统时间
select GETDATE();  

格式转换

字符串转日期

select convert(datetime,'2021-02-27 15:52:15') --2021-02-27 15:52:15.000
select convert(datetime,'2021-02-27 15:52:15',20) --2021-02-27 15:52:15.000
select convert(datetime,'2021/02/27 15:52:15',111) --2021-02-27 15:52:15.000
select convert(datetime,'2020',20) --2020-01-01 00:00:00.000

日期转字符串

select CONVERT(VARCHAR(20),GETDATE(),120) --12 26 2021  6:47PM
select CONVERT(VARCHAR(20),GETDATE()) --2021-12-26 18:47:46
select CONVERT(VARCHAR(32),GETDATE(),111) --2021/12/26

CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

其他计算命令

计算本年天数
select datediff(d,t.curr_year,dateadd(yy,1,t.curr_year)) from
(select dateadd(d,-datepart(dy,getdate())+1,getdate()) curr_year) t

select datediff(d,t.curr_year,dateadd(yy,1,t.curr_year)) from
(select dateadd(d,-datepart(dy,convert(datetime,'2020',20))+1,convert(datetime,'2020',20)) curr_year) t

也可以用下面判断闰年的方法返回天数

DATEDIFF() 函数返回两个日期之间的时间
DATEADD() 函数在日期中添加或减去指定的时间间隔
DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
判断闰年
select 
    case when(YEAR(GETDATE())%4=0 and YEAR(GETDATE())%100<>0 or YEAR(GETDATE())%400=0) then '闰年'
    else '平年'
    end
某月的第一天,最后一天
select dateadd(m, datediff(m,0,getdate()),0)
select dateadd(day ,-1, dateadd(m, datediff(m,0,getdate())+1,0)) 

附: Oracle日期转换

0

评论 (1)

取消
  1. 头像
    防水材料加盟
    Windows 7 · FireFox

    感谢分享 赞一个

    回复