通过tsql解析datetime
更新列表 设置日期=“2009-07-21T19:00:40” sql server无法识别此格式。有转换功能吗?试试这个:通过tsql解析datetime,tsql,Tsql,更新列表 设置日期=“2009-07-21T19:00:40” sql server无法识别此格式。有转换功能吗?试试这个: UPDATE List SET Date = '2009/07/21 19:00:40' 你可以用。但在转换之前,可能必须用空格替换“T”。(还有一些字符串操作函数可用。)对我来说效果很好(SQL Express 2005),除了双引号(SQL Server假定双引号是一个列分隔符);这就是造成错误的原因吗?谢谢你的示例代码,但是你能产生实际的错误吗 换句话说, 声明@
UPDATE List SET Date = '2009/07/21 19:00:40'
你可以用。但在转换之前,可能必须用空格替换“T”。(还有一些字符串操作函数可用。)对我来说效果很好(SQL Express 2005),除了双引号(SQL Server假定双引号是一个列分隔符);这就是造成错误的原因吗?谢谢你的示例代码,但是你能产生实际的错误吗
换句话说,
声明@List表([date]DATETIME)
)
插入@List
选择GETUTCDATE()
更新@列表设置日期=
“2009-07-21T19:00:40”
产生
味精207,16级,状态1,第7行
无效的列名
“2009-07-21T19:00:40”
鉴于
声明@List表([date]DATETIME)
)
插入@List
选择GETUTCDATE()
更新@列表设置日期=
“2009-07-21T19:00:40”
成功运行。甚至对我也有用(2005和2008)
然而,只要试一下
像这样的
**SET DATEFORMAT dmy**
DECLARE @tbl TABLE ( [date] DATETIME )
INSERT INTO @tbl SELECT getdate()
select * from @tbl
UPDATE @tbl SET Date = '2009-07-21T19:00:40'
select * from @tbl
不用说,您不应该对对象名称使用保留字。
**SET DATEFORMAT dmy**
DECLARE @tbl TABLE ( [date] DATETIME )
INSERT INTO @tbl SELECT getdate()
select * from @tbl
UPDATE @tbl SET Date = '2009-07-21T19:00:40'
select * from @tbl