Sql server SQL日期时间格式转换
我想将MS SQL上的日期时间格式从默认格式12-12-2000 13:01:01:0111更改为2000年12月12日1:01AM 这是我的代码->Sql server SQL日期时间格式转换,sql-server,datetime,Sql Server,Datetime,我想将MS SQL上的日期时间格式从默认格式12-12-2000 13:01:01:0111更改为2000年12月12日1:01AM 这是我的代码-> date_issued = CONVERT(VARCHAR(20),date_issued,107) +' '+ SUBSTRING(CONVERT(VARCHAR(10),date_issued,108),2,0)+ LTRIM(RIGHT(CONVERT(VARCHAR(25),date
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???假设您使用的是datetime字段,则不会更改以这种方式存储的日期格式 您可以通过这种方式实现输出格式,我使用getdate是因为我不确定您要做什么:
SELECT stuff(convert(varchar(25), getdate(), 100),
1, 3, datename(month, getdate()))
如果问题是将“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
嗯?为什么你希望它是谎言,并有上午而不是下午?这是一项工作,为您的演示层,例如报告工具。