sql时间运算日期时间格式(数据库大师成长日记SQLServer获取各式格式日期时间)
作为一个数据库大师,我一直致力于提高本人的技术以及与时俱进。在这个SQLServer获取各式格式日期时间的成长日记中,我想与大家共享我在这一方面的探索与学习。
first of all,俺要强调的是,日期时间是数据库中十分重要的数据类型。在SQLServer中,俺们是可以使用不同的函数来获取各式格式的日期时间。
我们先来看看怎样获取当前日期时间。在SQLServer中,应该使用函数getdate()来获取当前系统日期时间。比如:
SELECTGETDATE()ASCurrentDateTime;
如此便可以获取到当前日期时间,结果如下:
CurrentDateTime
2022-05-2314:30:45、653
接着下面,我们来看看怎样获取日期的部分。在SQLServer中,应该使用函数DATEPART来获取日期的年、月、日等部分。比如:
SELECTDATEPART(YEAR,getdate())ASYear,
DATEPART(MONTH,getdate())ASMonth,
DATEPART(DAY,getdate())ASDay;
如此便可以获取到当前日期的年、月、日,结果如下:
YearMonthDay
2022523
除了获取日期的部分,我们还不错进行日期运算。在SQLServer中,应该使用函数DATEADD来进行日期的加减运算。比如:
SELECTDATEADD(DAY,-7,getdate())ASOneWeekAgo,
DATEADD(MONTH,1,getdate())ASNextMonth;
如此便可以获取到当前日期的一周前和下个月的日期,结果如下:
OneWeekAgoNextMonth
2022-05-1614:30:452022-06-2314:30:45
此外,我们还不错将日期格式化为俺们所需的形式。在SQLServer中,应该使用函数CONVERT来进行日期格式的转换。比如:
SELECTCONVERT(VARCHAR,getdate(),111)ASDateOnly,
CONVERT(VARCHAR,getdate(),8)ASTimeOnly;
如此便可以将当前日期时间转换为只蕴含日期或时间的格式,结果如下:
DateOnlyTimeOnly
2022/05/2314:30:45
通过学习SQLServer获取各式格式日期时间的方式方法,我不断提升本人的技术能力,为数据库设计和管理提供更全面、准确的鼓励。希望通过俺的共享,能够对大家了解SQLServer的日期时间处理能够起到帮助作用。
来源头条作者:网云技术
朋友们,大家在使用SQLServer数据库时,经常会碰到获取日期时间的问题,我们使用selectgetdate()获取当前日期时间,在查询剖析器上看,返回的数据格式可能类似2018-11-1711:08:22、970,这看上去还算是正常的。返回的格式跟本机设置的日期时间格式有一定关系。
假如服务器设置的日期时间格式比较另类,返回的日期时间格式看上去乱乱的,在流程中调用时,由于调用接口的缘故,可能返回的数据格式更是乱。为了统一,有不少朋友都想直接转换成字符串格式,这样返回的时刻就不存在格式乱的问题。
打比方说要返回xxxx-xx-xx如此的格式,应该使用SELECTCONVERT(varchar(100),GETDATE(),23),如此便会舒服许多。我下面列出转换成字符串的多种格式。手机上直接看脚本也许会有点乱,我先截图出来,后面再上脚本:
以下是相应的脚本:SELECTCONVERT(varchar(100),GETDATE(),0):0516200610:57AM
SELECTCONVERT(varchar(100),GETDATE(),1):05/16/06
SELECTCONVERT(varchar(100),GETDATE(),2):06、05、16
SELECTCONVERT(varchar(100),GETDATE(),3):16/05/06
SELECTCONVERT(varchar(100),GETDATE(),4):16、05、06
SELECTCONVERT(varchar(100),GETDATE(),5):16-05-06
SELECTCONVERT(varchar(100),GETDATE(),6):171118
SELECTCONVERT(varchar(100),GETDATE(),7):1117,18
SELECTCONVERT(varchar(100),GETDATE(),8):11:05:44
SELECTCONVERT(varchar(100),GETDATE(),9):1117201811:05:37:873AM
SELECTCONVERT(varchar(100),GETDATE(),10):11-17-18
SELECTCONVERT(varchar(100),GETDATE(),11):18/11/17
SELECTCONVERT(varchar(100),GETDATE(),12):181117
SELECTCONVERT(varchar(100),GETDATE(),13):1711201811:05:09:450
SELECTCONVERT(varchar(100),GETDATE(),14):11:05:00:750
SELECTCONVERT(varchar(100),GETDATE(),20):2018-11-1711:04:53
SELECTCONVERT(varchar(100),GETDATE(),21):2018-11-1711:04:46、373
SELECTCONVERT(varchar(100),GETDATE(),22):11/17/1811:04:40AM
SELECTCONVERT(varchar(100),GETDATE(),23):2018-11-17
SELECTCONVERT(varchar(100),GETDATE(),二十四):11:04:22
SELECTCONVERT(varchar(100),GETDATE(),25):2018-11-1711:04:14、437
SELECTCONVERT(varchar(100),GETDATE(),100):1117201811:04AM
SELECTCONVERT(varchar(100),GETDATE(),101):11/17/2018
SELECTCONVERT(varchar(100),GETDATE(),102):2018、11、17
SELECTCONVERT(varchar(100),GETDATE(),103):17/11/2018
SELECTCONVERT(varchar(100),GETDATE(),104):17、11、2018
SELECTCONVERT(varchar(100),GETDATE(),105):17-11-2018
SELECTCONVERT(varchar(100),GETDATE(),106):17112018
SELECTCONVERT(varchar(100),GETDATE(),107):1117,2018
SELECTCONVERT(varchar(100),GETDATE(),108):11:03:02
SELECTCONVERT(varchar(100),GETDATE(),109):1117201811:02:54:763AM
SELECTCONVERT(varchar(100),GETDATE(),110):11-17-2018
SELECTCONVERT(varchar(100),GETDATE(),111):2018/11/17
SELECTCONVERT(varchar(100),GETDATE(),112):20181117
SELECTCONVERT(varchar(100),GETDATE(),113):1711201811:02:20:183
SELECTCONVERT(varchar(100),GETDATE(),114):11:02:11:590
SELECTCONVERT(varchar(100),GETDATE(),120):2018-11-1711:02:02
SELECTCONVERT(varchar(100),GETDATE(),121):2018-11-1711:01:55、340
SELECTCONVERT(varchar(100),GETDATE(),126):2018-11-17T11:01:45、967
SELECTCONVERT(varchar(100),GETDATE(),130):9?????????144011:01:13:933AM
SELECTCONVERT(varchar(100),GETDATE(),131):9/03/144011:01:34:153AM
有朋友会讲,假如要返回xxxx年xx月xx日的格式怎么做,其实也就是说也很简单,打比方说下面的写法:selectcast(year(getdate())asvarchar(4))+'年'+cast(month(getdate())asvarchar(2))+'月'+cast(day(getdate())asvarchar(2))+'日'
这里借用了一些内置函数,转换后组合一起。
希望对您能够起到帮助作用!!!