当您尝试在 SQL Server 中将 DATETIME 转换为 VARCHAR 时,默认的日期格式样式是一种相当不准确的日期格式,会丢失秒和毫秒的精度。例如:
SELECT CAST(GETDATE() AS VARCHAR)
-- May 8 2015 9:13AM
Run Code Online (Sandbox Code Playgroud)
有没有办法更改使用的默认样式?例如,我想使用样式 126 使结果看起来更像这样:
SELECT CAST(GETDATE() AS VARCHAR)
-- 2015-05-08T09:14:19.437
Run Code Online (Sandbox Code Playgroud)
如果可能,我只想更改当前流程或语句的默认样式;但是,我也愿意在数据库或模式级别更改它。
我应该注意:我知道 CONVERT 和手动指定样式的能力。但是,在这种特殊情况下,我无法使用 CONVERT。我将 SQL_VARIANT 参数作为 VARCHAR 转换为标量值函数。