Mic*_*ant 3 sql-server date-format
在 SQL Server 中,我可以做相当于to_char(date_field, 'YYYY-MM-DD:HH24')
在 Oracle 中的操作2012-01-30:23
吗?
Aar*_*and 10
在 SQL Server <= 2012 中,您可以说:
SELECT CONVERT(CHAR(10), date_field, 120)
+ ':' + RIGHT('0' + CONVERT(VARCHAR(2), DATEPART(HOUR, date_field)), 2)
FROM dbo.table ...;
Run Code Online (Sandbox Code Playgroud)
或者
SELECT STUFF(CONVERT(CHAR(13), date_field, 120), 11, 1, ':')
FROM dbo.table ...;
Run Code Online (Sandbox Code Playgroud)
在 SQL Server 2012 中,这要容易得多;你可以说:
SELECT FORMAT(date_field, 'yyyy-MM-dd:HH')
FROM dbo.table ...;
Run Code Online (Sandbox Code Playgroud)
虽然FORMAT
速度要慢得多,所以如果你大规模地这样做,它不是我会使用的(实际上我强烈建议你考虑在表示层而不是在 SQL Server 中格式化你的日期输出)。
SQL小提琴:http ://sqlfiddle.com/#! 6/72276/5