Ogg*_*ggu 2 sql sql-server-2008 sql-server-2012
select CONVERT(datetime,value,103) from results
Run Code Online (Sandbox Code Playgroud)
这个声明给了我一个错误
"Msg 529, Level 16, State 2, Line 1
Explicit conversion from data type text to datetime is not allowed."
Run Code Online (Sandbox Code Playgroud)
VALUE 列数据类型是 RESULTS 表中的 TEXT。
我怎样才能克服上述问题。请帮忙 !
你不能转换text为datetime
您必须应用两个转换操作。
第一:从文本到varchar
第二种:从varchar到datetime
所以你的查询将变成:
SELECT CONVERT(datetime,
CONVERT(varchar(30),value), 103)
FROM results
Run Code Online (Sandbox Code Playgroud)
另外:text新版本的 Sql Server 不推荐使用数据类型,因此我强烈建议您将数据类型(如果可以)更改text为varchar(max).
应用更改的 DDL 代码是:
ALTER TABLE results ALTER COLUMN value varchar(max)
Run Code Online (Sandbox Code Playgroud)