如何将日期时间列格式从yyyy-dd-MM HH:mm:ss转换为yyyy-MM-dd HH:mm:ss

我有一个datetime列,其中日期存储为yyyy-dd-MM HH:mm:ss,但我想将其更改为yyyy-MM-dd HH:mm:ss

例如, 2019年11月9日应为 2019-11-09 ,但其显示时间为2019-09-11。

我尝试过CAST / CONVERT,但是他们没有更改格式。

lotusdy 回答:如何将日期时间列格式从yyyy-dd-MM HH:mm:ss转换为yyyy-MM-dd HH:mm:ss

尝试一下:

select convert(varchar,getdate(),23)

declare @t date='09 Nov 2019'
select convert(varchar,@t,23)

输出:-

2019-11-09

日期格式120

select convert(varchar,120)

输出:

2019-11-11 16:46:26
,

您可以使用以下格式:

SELECT CONVERT(DATE,@YourDate,106)

工作查询:

SELECT CONVERT(DATE,'09 Nov 2019',106) -- it will return 2019-11-09

如果您期望使用yyyy-MM-dd HH:mm:ss格式的结果,则

SELECT CONVERT(VARCHAR(19),CONVERT(DATETIME,106),120) -- will result 2019-11-09 00:00:00
,

您应该更改数据库的DEFAULT_LANGUAGE格式

尝试:

USE [master]
GO
EXEC sys.sp_configure N'default language',N'0'
GO
RECONFIGURE WITH OVERRIDE
GO
ALTER LOGIN [myuser] WITH DEFAULT_LANGUAGE=[us_english]
GO

如有必要,请以您喜欢的语言更改[us_english],但如果您的数据库已被使用,请保持满腹……。

,

感谢您的帮助。它为我寻找的正确方向指明了方向。

我的解决方法是(可能是错误的,但是可行)...

,SUBSTRING(CONVERT(char(8),[LeadSentTime],112),1,4) + '-' + SUBSTRING(CONVERT(char(8),7,2) + '-'  + SUBSTRING(CONVERT(char(8),5,2) + ' ' +
  CONVERT(char(12),14)

这给出了所需的结果-2019-11-09 10:41:55而不是2019-09-11 10:41:55

本文链接:https://www.f2er.com/3124886.html

大家都在问