我想将MS SQL上的日期时间格式从默认格式12-12-2000 13:01:01:0111更改为 2000年12月12日上午1:01
这是我的代码 - >
date_issued = CONVERT(VARCHAR(20),date_issued,107) +' '+
SUBSTRING(CONVERT(VARCHAR(10),date_issued,108),2,0)+
LTRIM(RIGHT(CONVERT(VARCHAR(25),date_issued,100),7)),
如何将其转换为2000年12月12日上午1:01 ???
答案 0 :(得分:1)
假设您使用的是日期时间字段,则不会更改以该方式存储的日期格式。
你可以通过这种方式实现输出格式,我使用了getdate因为我不确定你要做什么:
SELECT stuff(convert(varchar(25), getdate(), 100),
1, 3, datename(month, getdate()))
答案 1 :(得分:1)
如果问题是将'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