SQL Server中实现时间转换的3种方法总结

在数据库操作中,时间转换是一个常见的需求。无论是将字符串转换为日期时间格式,还是将日期时间格式转换为字符串,都需要灵活运用各种时间转换函数。SQLServer作为一款功能强大的关系型数据库管理系统,

在数据库操作中,时间转换是一个常见的需求。无论是将字符串转换为日期时间格式,还是将日期时间格式转换为字符串,都需要灵活运用各种时间转换函数。SQL Server作为一款功能强大的关系型数据库管理系统,提供了多种时间转换的方法。本文将详细介绍SQL Server中实现时间转换的三种常用方法,帮助读者更好地掌握这一技能。

SQL Server中实现时间转换的3种方法总结

第一种:format

--转化成年月日selectformat(GETDATE(),\'yyyy-MM-dd\')--转化年月日,时分秒,这里的HH指24小时的,hh是12小时的selectformat(GETDATE(),\'yyyy-MM-ddHH:mm:ss\')--转化成时分秒的,这里就不一样的,需要反斜杠来转化,所以要记一下selectformat(GETDATE(),\'HH\\:mm\\:ss\')

第二种:CONVERT

SELECTCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSELECTCONVERT(varchar(100),GETDATE(),1):05/16/06SELECTCONVERT(varchar(100),GETDATE(),2):06.05.16SELECTCONVERT(varchar(100),GETDATE(),3):16/05/06SELECTCONVERT(varchar(100),GETDATE(),4):16.05.06SELECTCONVERT(varchar(100),GETDATE(),5):16-05-06SELECTCONVERT(varchar(100),GETDATE(),6):160506SELECTCONVERT(varchar(100),GETDATE(),7):0516,06SELECTCONVERT(varchar(100),GETDATE(),8):10:57:46SELECTCONVERT(varchar(100),GETDATE(),9):0516200610:57:46:827AMSELECTCONVERT(varchar(100),GETDATE(),10):05-16-06SELECTCONVERT(varchar(100),GETDATE(),11):06/05/16SELECTCONVERT(varchar(100),GETDATE(),12):060516SELECTCONVERT(varchar(100),GETDATE(),13):1605200610:57:46:937SELECTCONVERT(varchar(100),GETDATE(),14):10:57:46:967SELECTCONVERT(varchar(100),GETDATE(),20):2006-05-1610:57:47SELECTCONVERT(varchar(100),GETDATE(),21):2006-05-1610:57:47.157SELECTCONVERT(varchar(100),GETDATE(),22):05/16/0610:57:47AMSELECTCONVERT(varchar(100),GETDATE(),23):2006-05-16SELECTCONVERT(varchar(100),GETDATE(),24):10:57:47SELECTCONVERT(varchar(100),GETDATE(),25):2006-05-1610:57:47.250SELECTCONVERT(varchar(100),GETDATE(),100):0516200610:57AMSELECTCONVERT(varchar(100),GETDATE(),101):05/16/2006SELECTCONVERT(varchar(100),GETDATE(),102):2006.05.16SELECTCONVERT(varchar(100),GETDATE(),103):16/05/2006SELECTCONVERT(varchar(100),GETDATE(),104):16.05.2006SELECTCONVERT(varchar(100),GETDATE(),105):16-05-2006SELECTCONVERT(varchar(100),GETDATE(),106):16052006SELECTCONVERT(varchar(100),GETDATE(),107):0516,2006SELECTCONVERT(varchar(100),GETDATE(),108):10:57:49SELECTCONVERT(varchar(100),GETDATE(),109):0516200610:57:49:437AMSELECTCONVERT(varchar(100),GETDATE(),110):05-16-2006SELECTCONVERT(varchar(100),GETDATE(),111):2006/05/16SELECTCONVERT(varchar(100),GETDATE(),112):20060516SELECTCONVERT(varchar(100),GETDATE(),113):1605200610:57:49:513SELECTCONVERT(varchar(100),GETDATE(),114):10:57:49:547SELECTCONVERT(varchar(100),GETDATE(),120):2006-05-1610:57:49SELECTCONVERT(varchar(100),GETDATE(),121):2006

第三种:DATEADD()

语法:DATEADD(datepart,number,date)
参数:

  • date 参数是合法的日期表达式,类型可以是datetime、smalldatetime、char。

  • number 是您希望添加的间隔数,最好是整数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

  • datepart 参数可以是下面表格的值。

datepart
年份(year)yy , yyyy , year
季度(quarter)qq , q , quarter
月份(month)mm , m , month
年中的日(day of year)dy, y
日(day)dd , d , day
周(week)wk , ww , week
星期(weekday)dw, w
小时(hour)hh , hour
分钟(minute)mi , n , minute
秒(second)ss , s , second
毫秒(millisecondms
微秒(microsecond)mcs
纳秒(nanosecond)ns
  • 具体用法如下:

1.实现秒加减--减100秒SELECTDATEADD(ss,-100,\'2024-07-03\')SELECTDATEADD(s,-100,\'2024-07-03\')SELECTDATEADD(second,-100,\'2024-07-03\')--加100秒SELECTDATEADD(ss,100,\'2024-07-03\')SELECTDATEADD(s,100,\'2024-07-03\')SELECTDATEADD(second,100,\'2024-07-03\')2.实现分钟加减--减1分钟SELECTDATEADD(mi,-1,\'2024-07-03\')SELECTDATEADD(n,-1,\'2024-07-03\')SELECTDATEADD(minute,-1,\'2024-07-03\')--加1分钟SELECTDATEADD(mi,1,\'2024-07-03\')SELECTDATEADD(n,1,\'2024-07-03\')SELECTDATEADD(minute,1,\'2024-07-03\')3.实现小时加减--减1小时SELECTDATEADD(hh,-1,\'2024-07-03\')SELECTDATEADD(hour,-1,\'2024-07-03\')--加1小时SELECTDATEADD(hh,1,\'2024-07-03\')SELECTDATEADD(hour,1,\'2024-07-03\')4.实现日加减--减1天SELECTDATEADD(dd,-1,\'2024-07-03\')SELECTDATEADD(d,-1,\'2024-07-03\')SELECTDATEADD(day,-1,\'2024-07-03\')--加1天SELECTDATEADD(dd,1,\'2024-07-03\')SELECTDATEADD(d,1,\'2024-07-03\')SELECTDATEADD(day,1,\'2024-07-03\')5.实现周加减--减1周SELECTDATEADD(ww,-1,\'2024-07-03\')SELECTDATEADD(wk,-1,\'2024-07-03\')SELECTDATEADD(week,-1,\'2024-07-03\')--加1周SELECTDATEADD(ww,1,\'2024-07-03\')SELECTDATEADD(ww,1,\'2024-07-03\')SELECTDATEADD(ww,1,\'2024-07-03\')6.实现月份加减--减1月SELECTDATEADD(m,-1,\'2024-07-03\')SELECTDATEADD(mm,-1,\'2024-07-03\')SELECTDATEADD(month,-1,\'2024-07-03\')--加1月SELECTDATEADD(m,1,\'2024-07-03\')SELECTDATEADD(mm,1,\'2024-07-03\')SELECTDATEADD(month,1,\'2024-07-03\')7.实现季度加减--减1季度SELECTDATEADD(q,-1,\'2024-07-03\')SELECTDATEADD(qq,-1,\'2024-07-03\')SELECTDATEADD(quarter,-1,\'2024-07-03\')--加1季度SELECTDATEADD(q,1,\'2024-07-03\')SELECTDATEADD(qq,1,\'2024-07-03\')SELECTDATEADD(quarter,1,\'2024-07-03\')8.实现年份加减--减1年SELECTDATEADD(yy,-1,\'2024-07-03\')SELECTDATEADD(yyyy,-1,\'2024-07-03\')SELECTDATEADD(year,-1,\'2024-07-03\')--加1年SELECTDATEADD(yy,1,\'2024-07-03\')SELECTDATEADD(yyyy,1,\'2024-07-03\')SELECTDATEADD(year,1,\'2024-07-03\')

总结

通过本文的介绍,我们可以看到SQL Server中实现时间转换的三种常用方法:CONVERT函数、DATEADD函数和FORMAT函数。每种方法都有其独特的优点和适用场景。掌握这些时间转换技巧,将有助于我们在实际工作中编写出更加高效和简洁的SQL代码。希望本文的内容能够对读者有所帮助,欢迎大家在评论区分享自己的经验和见解。

本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
开发者

Python调用豆包API实现文档处理的实例详解

2025-1-14 2:58:48

开发者

JavaScript中Object.keys()的用法示例详解

2025-1-14 2:58:51

搜索