如果問題是「PM」的文字轉換爲「AM」,然後只需使用 '替換',注意我用了 'GETDATE()' 在下面的例子
CONVERT(VARCHAR(20),getdate(),107) +' '+
SUBSTRING(CONVERT(VARCHAR(10),getdate(),108),2,0)+
REPLACE(LTRIM(RIGHT(CONVERT(VARCHAR(25),getdate(),100),7)),'PM','AM')
如果其PM-> AM和AM-> PM那麼試試下面
SELECT "DateTime"=
CASE
WHEN patindex('%AM', CONVERT(VARCHAR(20), GETDATE(), 100)) = 0 THEN
CONVERT(VARCHAR(20),getdate(),107) +' '+
SUBSTRING(CONVERT(VARCHAR(10),getdate(),108),2,0)+
REPLACE(LTRIM(RIGHT(CONVERT(VARCHAR(25),getdate(),100),7)),'PM','AM')
ELSE
CONVERT(VARCHAR(20),getdate(),107) +' '+
SUBSTRING(CONVERT(VARCHAR(10),getdate(),108),2,0)+
REPLACE(LTRIM(RIGHT(CONVERT(VARCHAR(25),getdate(),100),7)),'AM','PM')
END
咦?爲什麼你會期望它說謊,並有AM而不是PM? –
這是您的表示層的工作,例如報告工具。 – gvee