1

我想将我的 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?

4

2 回答 2

1

假设您使用的是日期时间字段,您不会更改以这种方式存储的日期格式。

您可以通过这种方式实现输出格式,我使用 getdate 因为我不确定您要做什么:

SELECT stuff(convert(varchar(25), getdate(), 100), 
       1, 3, datename(month, getdate()))
于 2013-08-05T08:18:20.463 回答
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
于 2013-08-05T08:32:57.177 回答