龙空技术网

数据库大师成长日记:SQLServer获取各种格式日期时间,敬请收藏

花果痴 784

前言:

今天兄弟们对“sqlserver查询时间范围”可能比较看重,大家都需要了解一些“sqlserver查询时间范围”的相关资讯。那么小编也在网摘上网罗了一些有关“sqlserver查询时间范围””的相关内容,希望同学们能喜欢,你们一起来了解一下吧!

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

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

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

下面是对应的脚本:

SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06SELECT CONVERT(varchar(100), GETDATE(), 6): 17 11 18SELECT CONVERT(varchar(100), GETDATE(), 7): 11 17, 18SELECT CONVERT(varchar(100), GETDATE(), 8): 11:05:44SELECT CONVERT(varchar(100), GETDATE(), 9): 11 17 2018 11:05:37:873AMSELECT CONVERT(varchar(100), GETDATE(), 10): 11-17-18SELECT CONVERT(varchar(100), GETDATE(), 11): 18/11/17SELECT CONVERT(varchar(100), GETDATE(), 12): 181117SELECT CONVERT(varchar(100), GETDATE(), 13): 17 11 2018 11:05:09:450SELECT CONVERT(varchar(100), GETDATE(), 14): 11:05:00:750SELECT CONVERT(varchar(100), GETDATE(), 20): 2018-11-17 11:04:53SELECT CONVERT(varchar(100), GETDATE(), 21): 2018-11-17 11:04:46.373SELECT CONVERT(varchar(100), GETDATE(), 22): 11/17/18 11:04:40 AMSELECT CONVERT(varchar(100), GETDATE(), 23): 2018-11-17SELECT CONVERT(varchar(100), GETDATE(), 24): 11:04:22SELECT CONVERT(varchar(100), GETDATE(), 25): 2018-11-17 11:04:14.437SELECT CONVERT(varchar(100), GETDATE(), 100): 11 17 2018 11:04AMSELECT CONVERT(varchar(100), GETDATE(), 101): 11/17/2018SELECT CONVERT(varchar(100), GETDATE(), 102): 2018.11.17SELECT CONVERT(varchar(100), GETDATE(), 103): 17/11/2018SELECT CONVERT(varchar(100), GETDATE(), 104): 17.11.2018SELECT CONVERT(varchar(100), GETDATE(), 105): 17-11-2018SELECT CONVERT(varchar(100), GETDATE(), 106): 17 11 2018SELECT CONVERT(varchar(100), GETDATE(), 107): 11 17, 2018SELECT CONVERT(varchar(100), GETDATE(), 108): 11:03:02SELECT CONVERT(varchar(100), GETDATE(), 109): 11 17 2018 11:02:54:763AMSELECT CONVERT(varchar(100), GETDATE(), 110): 11-17-2018SELECT CONVERT(varchar(100), GETDATE(), 111): 2018/11/17SELECT CONVERT(varchar(100), GETDATE(), 112): 20181117SELECT CONVERT(varchar(100), GETDATE(), 113): 17 11 2018 11:02:20:183SELECT CONVERT(varchar(100), GETDATE(), 114): 11:02:11:590SELECT CONVERT(varchar(100), GETDATE(), 120): 2018-11-17 11:02:02SELECT CONVERT(varchar(100), GETDATE(), 121): 2018-11-17 11:01:55.340SELECT CONVERT(varchar(100), GETDATE(), 126): 2018-11-17T11:01:45.967SELECT CONVERT(varchar(100), GETDATE(), 130): 9 ???? ????? 1440 11:01:13:933AMSELECT 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))+'日'

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

希望对您有所帮助!

标签: #sqlserver查询时间范围 #sqlserver查询指定时间数据 #sqlserver查询指定日期 #sql server查询日期 #sql指定时间查询