无法从SQL Server中的CURRENT_TIMESTAMP获取secs

时间:2013-09-06 08:30:17

标签: sql-server datetime timestamp sql-server-2012

当我尝试select CURRENT_TIMESTAMP时,我会以表格形式获得2013-09-06 13:55:17.217。但是当我尝试print CURRENT_TIMESTAMP时,我得到Sep 6 2013 1:58PM我没有得到秒。问题是什么,我在这里犯了什么错误吗?

2 个答案:

答案 0 :(得分:2)

SELECT convert(varchar, CURRENT_TIMESTAMP, 113)

SELECT FORMAT(CURRENT_TIMESTAMP, 'dd MMM yyyy HH:mm:ss')

有关更多格式选项,请参阅here

答案 1 :(得分:1)

来自PRINT (Transact-SQL)

@ local_variable

  

是任何有效字符数据类型的变量。的 @local_variable   必须是char,nchar,varchar或nvarchar,或者它必须能够   隐式转换为这些数据类型

所以这就是SQL Server隐式将值转换为VARCHAR / NVARCHAR到PRINT的方式

使用默认的转换类型查看CAST and CONVERT (Transact-SQL)以更改输出格式类型。