示例输入:2014-03-28 00:00:00.000
示例输出:28-Mar-14
当前SQL:
SELECT StartDate
FROM myTable
令人惊讶的是,我在StackOverflow for SQL Server上找不到这种特殊的格式,所以我想我应该添加它以帮助保存下一个人的某个时间。
答案 0 :(得分:1)
新SQL:
SELECT REPLACE(CONVERT(CHAR(9), StartDate, 6),' ','-') AS FormattedStartDate
FROM myTable
如果您需要根据需要进行调整,以下是它的工作原理:
CONVERT(CHAR(9), StartDate, 6)
将输出CHAR(9)
。确保这足够长,以达到您想要的输出。
第3个参数中6
的值告诉CONVERT
以格式输出
dd mon yy
。
请注意,如果你想要连字符( - ),斜杠(/)或其他什么而不是那些空格,格式有空格就是你需要REPLACE
函数的原因。
注意:如果日期字段通常不为null,则CHAR(9)将使用比VARCHAR更少的字节。如果字段中有大量空白数据,我会考虑用VARCHAR替换CHAR(9),因为在这种情况下它会输出更少的字节。
答案 1 :(得分:1)
试试这个: -
SELECT REPLACE(CONVERT(VARCHAR,GETDATE(),6),' ','-')
您的查询将是: -
SELECT REPLACE(CONVERT(VARCHAR,StartDate,6),' ','-') AS StartDate FROM myTable