如何在sql server 2008中将文本转换为日期?
问题描述:
我有表包含一个文本字段[nvarchar(10)]如何在sql server 2008中将文本转换为日期?
如何将此字段转换为日期?
当我尝试在现场改变设计模式 - 我得到这个:
无法修改表。
从字符串中转换日期和/或时间时转换失败。
是否有任何查询,我可以运行做到这一点?
感谢的提前
答
,你可以按照这个步骤:
- 创建一个新的datetime列,可为空
- 更新,与正常铸造值列
- 放下你的原始列
- 重命名并调整列以使其不接受空值(如果适用)
试试这个示例:
CREATE TABLE #Sample
(
FieldAsText varchar(10) NOT NULL
);
GO
INSERT INTO #Sample VALUES ('2009-01-24');
ALTER TABLE #Sample ADD FieldAsDate datetime NULL
GO
UPDATE #Sample SET FieldAsDate = CONVERT(DATETIME, FieldAsText)
SELECT * FROM #Sample
ALTER TABLE #Sample DROP COLUMN FieldAsText
ALTER TABLE #Sample ALTER COLUMN FieldAsDate datetime NOT NULL
GO
SELECT * FROM #Sample
+0
感谢您的帮助!!,你能写我的查询吗? – Gold 2010-01-24 11:45:26
+1
在这里你走了;您应该借此机会接受以前问题的一些答案:这将有助于您在将来获得更多帮助 – 2010-01-24 12:32:02
什么是文本字符串的格式? – 2010-01-24 11:16:14
也许你可以向我们展示一个文本字段的例子吗? – 2010-01-24 11:17:31