如何在没有前导零的情况下在 SQL 中显示日期

Eli*_*ahu 2 sql sql-server date-format sql-server-2008 date-formatting

是否有 SQL 格式可以从日期中删除前导零?

就像日期是否01/12/2015将其呈现为1/12/2015,并且01/01/2016应显示为1/1/2016

整个日期通常包含dd/MM/yyyy HH:mm:ss. 我需要在不更改其余信息的情况下删除那些多余的前导零。

目前我使用包含以下内容的查询:

convert(varchar, dateadd(hh, " + 2 + " , o.start_time), 103)) + ' '  
left(convert(varchar, dateadd(hh, " + 2 + " , o.start_time), 108), 110)  
Run Code Online (Sandbox Code Playgroud)

我正在使用 SQL Server 2008

小智 7

试试这个, format 是一个更干净的解决方案:

declare @date datetime = '01/01/2016'    
SELECT FORMAT(@date,'M/d/yyyy')
Run Code Online (Sandbox Code Playgroud)

结果: 2016 年 1 月 1 日

  • 请注意,此解决方案仅适用于 SQL Server 2012 及更高版本。/sf/answers/804964751/ (2认同)