首页 > 数据库技术 > 详细

使用SQL Server进行日期和时间转换

时间:2020-07-14 10:42:51      阅读:74      评论:0      收藏:0      [点我收藏+]
问题

在很多情况下,日期和时间没有以您想要的格式显示在您的家门口,查询的输出也不符合查看该查询的人们的需求。一种选择是格式化应用程序本身中的数据。另一个选择是使用SQL Server提供的内置功能来格式化日期字符串。

SQL Server提供了许多选项,可用于格式化日期/时间字符串。首先要考虑的因素是实际所需的日期/时间。最常见的是使用getdate()的当前日期/时间这将根据提供日期和时间的服务器来提供当前日期和时间。如果需要通用日期/时间,则应使用getutcdate()要更改日期格式,可以将请求的日期转换为字符串,然后指定与所需格式相对应的格式编号。

如何获取不同的SQL Server日期格式

  1. 将日期格式选项与CONVERT函数一起使用
  2. 要获取YYYY-MM-DD,请使用SELECT CONVERT(varchar,getdate(),23)
  3. 要获取MM / DD / YYYY,请使用SELECT CONVERT(varchar,getdate(),1)
  4. 查看图表以获取所有格式选项的列表

以下是格式列表和输出示例。所有这些示例使用的日期为“ 2006-12-30 00:38:54.840”。

 技术分享图片

 

 您还可以设置日期或时间的格式,而不用分割字符,以及连接日期和时间字符串:

技术分享图片

 

 如果要获取所有有效日期和时间格式的列表,则可以使用下面的代码,并将@date更改为GETDATE()或要使用的任何其他日期。这将仅输出有效格式。

DECLARE @counter INT = 0
DECLARE @date DATETIME = 2006-12-30 00:38:54.840

CREATE TABLE #dateFormats (dateFormatOption int, dateOutput nvarchar(40))

WHILE (@counter <= 150 )
BEGIN
   BEGIN TRY
      INSERT INTO #dateFormats
      SELECT CONVERT(nvarchar, @counter), CONVERT(nvarchar,@date, @counter) 
      SET @counter = @counter + 1
   END TRY
   BEGIN CATCH;
      SET @counter = @counter + 1
      IF @counter >= 150
      BEGIN
         BREAK
      END
   END CATCH
END

SELECT * FROM #dateFormats

 

 

使用SQL Server进行日期和时间转换

原文:https://www.cnblogs.com/Javi/p/13297304.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!