我需要将日期转换为2012-10-15 15:00:21.970的格式
前往欧洲:15/10/2012 15:00:21
CONVERT(nvarchar, @DateTime, 103) + N' ' + CONVERT(nvarchar, @DateTime, 8) -- 15/10/2012 15:00:21
前往美国:2012年10月15日下午03:00:21
CONVERT(NVARCHAR, @DateTime, 101) -- 10/15/2012
我无法弄清楚美国转换的时间部分。我可能可以用DATEPART做到这一点,但是此函数将在select语句中格式化时间,因此我试图使其尽可能简单。有任何想法吗?
资源:http://www.w3schools.com/sql/func_convert.asp
弄清楚了
DECLARE @DateTime datetime = '2012-10-15 15:00:21.970' SELECT CONVERT(nvarchar, @DateTime, 101) + N' ' + LEFT(N'0' + RIGHT(CONVERT(nvarchar, @DateTime, 109), 13), 8) + N' ' + CASE WHEN DATEPART(HH,@DateTime) < 13 THEN 'AM' ELSE 'PM' END
SELECT CONVERT(NVARCHAR, @DateTime, 101) + N' ' +CONVERT(NVARCHAR, CAST(@DateTime AS time(0)), 109)