请问关于字符串型转为时间类型的问题
环境:VS.NET 2003 C# ASP.NET_1.1.4322.573 + SQLServer 2000
程序:由aspx页面向储存过程传一个字符串(含多个参数值,其中包含了一个时间值,参数值以逗号分隔,在储存过程中分解),然后将储存过程返回的结果集填充DataSet。
问题:在用DataAdapter将储存过程返回的结果集Fill( dataset ) 时,提示varchar类型无法转为datatime类型。
测试:1、时间值加不加上单引号都报错;
2、时间值写成“2007-08-01 01:01:01”、“2007-08-01”这两种格式都报错;
3、不使用储存过程,而直接使用SQL语句时可以正常填充DataSet;
4、不向储存过程传递时间值时可正常填充DataSet。
请问在保持向储存过程传递字符串(含时间值)这种形式的情况下,有没有什么办法可以解决这个问题?
谢谢!!
------解决方案--------------------在存储过程中 cast/convert字符串转成时间试一下
------解决方案--------------------转换一下~
------解决方案--------------------sql 语句里改一下试试:
select convert(char(12),日期,102)as 日期 from table
------解决方案--------------------提示varchar类型无法转为datatime类型。
=====
假设时间字段为a
用(cast a as datetime)转换
如
select a=(cast a as datetime) from A