快捷搜索:  汽车  科技

数据库怎样计算过期日期(数据库大师成长日记)

数据库怎样计算过期日期(数据库大师成长日记)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): 17 11 18 SELECT CONVERT(varc

朋友们,大家在使用SQL Server数据库时,经常会碰到获取日期时间的问题,我们使用select getdate()获取当前日期时间,在查询分析器上看,返回的数据格式可能类似2018-11-17 11:08:22.970,这看上去还算是正常的。返回的格式跟本机设置的日期时间格式有一定关系。

如果服务器设置的日期时间格式比较另类,返回的日期时间格式看上去乱乱的,在程序中调用时,因为调用接口的原因,可能返回的数据格式更是乱。为了统一,有不少朋友都想直接转换成字符串格式,这样返回的时候就不存在格式乱的问题。

比如要返回xxxx-xx-xx这样的格式,可以使用SELECT CONVERT(varchar(100) GETDATE() 23),这样就会舒服很多。我下面列出转换成字符串的多种格式。手机上直接看脚本可能会有点乱,我先截图出来,后面再上脚本:

数据库怎样计算过期日期(数据库大师成长日记)(1)

下面是对应的脚本:

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): 17 11 18 SELECT CONVERT(varchar(100) GETDATE() 7): 11 17 18 SELECT CONVERT(varchar(100) GETDATE() 8): 11:05:44 SELECT CONVERT(varchar(100) GETDATE() 9): 11 17 2018 11:05:37:873AM SELECT CONVERT(varchar(100) GETDATE() 10): 11-17-18 SELECT CONVERT(varchar(100) GETDATE() 11): 18/11/17 SELECT CONVERT(varchar(100) GETDATE() 12): 181117 SELECT CONVERT(varchar(100) GETDATE() 13): 17 11 2018 11:05:09:450 SELECT CONVERT(varchar(100) GETDATE() 14): 11:05:00:750 SELECT CONVERT(varchar(100) GETDATE() 20): 2018-11-17 11:04:53 SELECT CONVERT(varchar(100) GETDATE() 21): 2018-11-17 11:04:46.373 SELECT CONVERT(varchar(100) GETDATE() 22): 11/17/18 11:04:40 AM SELECT CONVERT(varchar(100) GETDATE() 23): 2018-11-17 SELECT CONVERT(varchar(100) GETDATE() 24): 11:04:22 SELECT CONVERT(varchar(100) GETDATE() 25): 2018-11-17 11:04:14.437 SELECT CONVERT(varchar(100) GETDATE() 100): 11 17 2018 11:04AM SELECT CONVERT(varchar(100) GETDATE() 101): 11/17/2018 SELECT CONVERT(varchar(100) GETDATE() 102): 2018.11.17 SELECT CONVERT(varchar(100) GETDATE() 103): 17/11/2018 SELECT CONVERT(varchar(100) GETDATE() 104): 17.11.2018 SELECT CONVERT(varchar(100) GETDATE() 105): 17-11-2018 SELECT CONVERT(varchar(100) GETDATE() 106): 17 11 2018 SELECT CONVERT(varchar(100) GETDATE() 107): 11 17 2018 SELECT CONVERT(varchar(100) GETDATE() 108): 11:03:02 SELECT CONVERT(varchar(100) GETDATE() 109): 11 17 2018 11:02:54:763AM SELECT CONVERT(varchar(100) GETDATE() 110): 11-17-2018 SELECT CONVERT(varchar(100) GETDATE() 111): 2018/11/17 SELECT CONVERT(varchar(100) GETDATE() 112): 20181117 SELECT CONVERT(varchar(100) GETDATE() 113): 17 11 2018 11:02:20:183 SELECT CONVERT(varchar(100) GETDATE() 114): 11:02:11:590 SELECT CONVERT(varchar(100) GETDATE() 120): 2018-11-17 11:02:02 SELECT CONVERT(varchar(100) GETDATE() 121): 2018-11-17 11:01:55.340 SELECT CONVERT(varchar(100) GETDATE() 126): 2018-11-17T11:01:45.967 SELECT CONVERT(varchar(100) GETDATE() 130): 9 ???? ????? 1440 11:01:13:933AM SELECT CONVERT(varchar(100) GETDATE() 131): 9/03/1440 11:01:34:153AM

有朋友会说,如果要返回xxxx年xx月xx日的格式怎么做,其实也很简单,比如下面的写法:

select cast(year(getdate()) as varchar(4)) '年' cast(month(getdate()) as varchar(2)) '月' cast(day(getdate()) as varchar(2)) '日'

这里借用了一些内置函数,转换后组合一起。

数据库怎样计算过期日期(数据库大师成长日记)(2)

希望对您有所帮助!

猜您喜欢: