問題が「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