我想将整列转换为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。日期格式很微妙。