如果问题是将“PM”文本转换为“AM”,那么只需使用“REPLACE”,请注意我在下面的示例中使用了“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