问题:我的表中有一个名为DOB
的列。它很好......出生日期,但格式如04/22/1987
。我想将它们更改为19870422
,这需要将4位数年份移到单元格的前面并删除/标记并且不留空格。
任何有效的建议都是非常感谢。谢谢大家!
答案 0 :(得分:0)
选择转换(char(8),dob,112)dob
答案 1 :(得分:0)
因此,您希望更新日期列中的所有行,基本上更新现有列
UPDATE YourTable SET YourNewColumn = CONVERT(DATETIME,YourOldColumn,112)
答案 2 :(得分:0)
如果您的表格被称为Foo
且您的列名称为DOB
:
Update Foo
Set DOB = Substring(DOB, 7, 4) + Substring(DOB, 1, 2) + Substring(DOB, 4, 2);
这里是SQL Fiddle。
请注意,这会更新表中所有行的DOB
列。因此,在将其更改为MM/DD/YYYY
之前,请确保所有数据均采用YYYYMMDD
格式。
请注意Substring()
函数有三个参数:
因此,表达式Substring(DOB, 7, 4)
从第七个位置(年初)开始,需要四个字符(四个字符的年份。)