我需要转换表中的所有值,并且我需要将此更改设为永久更改,因此表格具有日期,格式为dd.mm.yyy
。
我需要将它们更改为DATETIME
格式yyyy-mm-dd
。
答案 0 :(得分:0)
使用样式为CONVERT
的{{1}}函数。
20
输出:
SELECT CONVERT(VARCHAR,yourdatefield,20)
答案 1 :(得分:0)
SELECT CONVERT(NVARCHAR(10),CONVERT(DATETIME,yourData,104),20)
答案 2 :(得分:0)
如果格式为“dd.mm.yyyy”。 按照步骤进行操作。
添加新列
UPDATE TABLE_NAME SET COLUMN_NAME=CONVERT(DATETIME,V_DATE_COL,104);
使用旧列
中的日期值更新列 ALTER TABLE TABLE_NAME DROP COLUMN V_DATE_COL
删除旧列
EXEC sp_RENAME 'TABLE_NAME.COLUMN_NAME' , 'NewColumnName', 'COLUMN'
重命名新列
=ArrayFormula(trim(transpose(split(query(rept(A2:A&char(10),B2:B),,50000), char(10)))))
答案 3 :(得分:0)
如果您的日期与适当的数据类型(日期,日期时间或日期时间2)一起存储,那么它们是stored without any display format.
如果是这种情况,您需要在选择数据时将其转换为char(10)
:
SELECT CONVERT(char(10), DateTimeColumn, 120)
如果它们存储为字符串类型,则应重构数据库并正确存储它们。如果由于某种原因这是不可能的,你可以转换两次。一个从字符串到日期,另一个返回字符串:
SELECT CONVERT(char(10), CONVERT(date, DateTimeStringColumn, 104), 120)