[英]Formatting Datetime2 in SQL Server
我正在尝试将datetime2
格式化为yyyy-mm-dd hh:mm:ss
格式。
我尝试了以下选项:
这引发了一个错误:
SELECT CONVERT(datetime2, 120);
这工作正常,但我需要类型为datetime2
的输出
SELECT CONVERT(VARCHAR(19), GETDATE(), 120);
我该如何实现?
您在调用CONVERT()
函数时未指定要转换为的数据类型,因此在您的情况下为SELECT CONVERT(datetime2, 120);
SQL Server将尝试将值120
转换为datetime2
,这就是为什么会出现此错误(您未提供)的原因
不允许从int数据类型到datetime2的显式转换。
要将CONVERT()
与日期和时间样式一起使用,您需要传递
CONVERT(<datatype to convert to>, <Value to be converted>, <Style>)
。
SYSUTCDATETIME
返回一个datetime2
您可以将其转换为
SELECT CONVERT(VARCHAR(20), SYSUTCDATETIME(), 120)
--Change SYSUTCDATETIME() with your column/variable
对于你说的
但是我需要类型为
datetime2
的输出
DATETIME
没有格式,它是一个二进制值,因此您需要将其转换为格式化的字符串。 由于您需要返回DATETIME2
因此您需要保持原样,并在表示层中进行格式化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.