随笔 - 368, 文章 - 0, 评论 - 56, 阅读 - 94万
  博客园  :: 首页  :: 联系 :: 管理

sql日期操作

Posted on   天戈朱  阅读(359)  评论(0编辑  收藏  举报

日期格式化函数

复制代码
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
复制代码

常用操作

Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49

Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
select CONVERT(varchar(12) , getdate(), 112 ) :   20040912 
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46

 


 

复制代码
select DateName(year,GetDate()) as ''
SELECT DateName(Quarter,GetDate()) as ''
select  DateName(month,GetDate()) as ''
select DateName(day,GetDate()) as ''
select DateName(dw,GetDate()) as '星期'
select DateName(week,GetDate()) as '周数'
select DateName(hour,GetDate()) as ''
select DateName(minute,GetDate()) as ''
select DateName(second,GetDate()) as ''
复制代码

 


 SQL根据指定月份获取当前季度

复制代码
declare @dt datetime
set @dt = cast('2007-05-01' as datetime)

select datename(yy,@dt) + '-' + right('0'+cast(3 * (datepart(qq,@dt)-1) + 1 as varchar),2) + ''
union 
select datename(yy,@dt) + '' + right('0'+cast(3 * (datepart(qq,@dt)-1) + 2 as varchar),2) + ''
union
select datename(yy,@dt) + '' + right('0'+cast(3 * (datepart(qq,@dt)-1) + 3 as varchar),2) + ''
复制代码

 


 sql format 格式化数字(前面补0)

以下是详细分析:
  1、select power(10,3)得到1000
  2、select cast(1000+33 as varchar) 将1000转换类型
  3、select right(100033,3) 从右边取3个字符得到033
  最后结果是:
  select right(cast(power(10,3) as varchar)+33,3)

 


 

ES 日期格式化后转化

复制代码
SELECT date_format(EndTime,'yyyyMMdd') as aa, sum(Power) as ESPower,count(*) as Fcp_Num,
        sum(case when ReceiptStateName = '已支付' then  1 else 0 end) as Fcp_PayNum
FROM FCP_OrderDetailBigData
where EndTime >= '2024-06-01 00:00:00.000+0800' 
and  EndTime < '2024-06-06 00:00:00.000+0800' 
and OrderType = '0'
and BaseType = '1'
and NewOperType <> '4'
group by date_histogram(field='EndTime','interval'='1d','alias'='BizDate', 'format'='yyyyMMdd', 'time_zone'='+08:00', 'min_doc_count'=0,order='desc')
limit 200
复制代码

 

编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示