MS SQL Server等效于to_char

时间:2017-10-31 18:29:11

标签: sql-server datetime string-formatting amazon-redshift

在Redshift中,我们使用以下命令将datetime转换为格式化字符串,如下所示 -

to_char(<any datetime column>, 'MM/DD/YYYY HH:MI AM') AS dateTime

如何在MS SQL服务器中实现相同功能。我使用转换和强制转换,但我不能像上面那样完全格式化它。我用了

select convert(varchar(20),<any datetime column>,9)

2 个答案:

答案 0 :(得分:2)

您可以在Sql Server 2012 +中使用format()

select format(getdate(),'MM/dd/yyyy hh:mm tt')

rextester演示:http://rextester.com/QWPWO57409

返回:10/31/2017 06:33 PM

在SQL Server 2012之前,您可以使用convert() styles和一些字符串操作的组合来获得类似的内容(在几小时内不会引导0):

select convert(varchar(10),getdate(),101)
  + stuff(right(convert(varchar(20),getdate(),100),8),7,0,' ')

返回:10/31/2017 6:40 PM

答案 1 :(得分:1)

这有帮助吗? Format (Transact-SQL)