需要帮助将datetime转换为varchar,如给定格式
2015-01-04 16:07:37.000"
到
01/04/2015 16:07PM
以下是尝试过:
convert(varchar(20),datetime,103)+ ' '+convert(varchar(20),datetime,108)+ ' ' +right(convert(varchar(30),datetime,109),2)
答案 0 :(得分:1)
这将适用于sqlserver
SQLFiddle关于此演示
SELECT convert(varchar, getdate(), 103)
+' '+ CONVERT(varchar(15),CAST(getdate() AS TIME),100)
答案 1 :(得分:1)
这将从当前日期时间以06/22/15 1:46:07 PM
。
SELECT CONVERT(VARCHAR(50), GETDATE(), 22)
尝试使用格式
SELECT FORMAT(GETDATE(), 'g')
将获得6/22/2015 1:57 PM
。
答案 2 :(得分:0)
您始终可以使用DATEPART自行构建...
SELECT
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(m, Date_Field)), 2) + '/' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(d, Date_Field)), 2) + '/' +
CONVERT(nvarchar(max), DATEPART(yyyy, Date_Field)) + ' ' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(hour, Date_Field)), 2) + ':' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(minute, Date_Field)), 2) +
RIGHT(CONVERT(VARCHAR(30), Date_Field, 9), 2)
然后,您可以在日期和时间之间使用自定义分隔符,根据需要添加秒(或毫秒等)。如果您发现需要大量使用它,请将其包装在UDF中。