我想将整列转换为yyyymmdd的日期格式,我不想要当前日期



我想将整列转换为yyyymmdd的日期格式,我不想要当前日期,因此我无法使用getdate()命令,该列中已经有数据,我只需要正确的命令将整列转化为yyyymmdd格式。

我使用的列是FIELD_034,表是Sur_CompassAuto1_1_7_fetch

我正在使用SQL Server。

感谢

我完全同意paqogomez的回应,但最好使用112,而不是日期风格的111。语句的输出

SELECT CONVERT(VARCHAR(10), FIELD_034, 111)

将导致年/月/日。其中as,

SELECT CONVERT(VARCHAR(10), FIELD_034, 112) 

将返回yyyyMMdd,这正是他所需要的。

一个常见的误解是datetime有一种格式。如果您将日期存储为日期时间,则可以以任何格式输出。

听起来您可能将自己的值存储为Varchar。你最好把你的varchar日期转换成日期时间,然后你可以用它们做任何你想做的事情

也就是说,如果你有FIELD_034作为DateTime,那么它就像一样简单

SELECT CONVERT(VARCHAR(10), FIELD_034, 112)
from Sur_CompassAuto1_1_7_fetch

如果字段是varchar,则类似于:

SELECT CONVERT(datetime, FIELD_034, 112)
from Sur_CompassAuto1_1_7_fetch

这个问题的困难在于,如果你的值是不同的或非标准的格式。然后需要进行一些清理才能使查询正常工作。

编辑:正如@AArnold所说,它是112而不是111。日期格式很微妙。

最新更新