注册 登录
编程论坛 SQL Server论坛

以文本型保存的数据表字段进行日期查询时出错,如何解决?谢谢!

foshan 发布于 2007-08-23 08:58, 880 次点击
我有一数据表字段 [nsrq] 是文本型的,里面保存的数据是日期格式的(全部是 yyyy-M-d 格式的),对 [nsrq] 字段进行日期查询时,查不到正确的数据。例如在ASP.net 2.0 C# 中用 where nsrq < '2003-2-1',查出的日期有“2003-10-1”、“2003-11-23”、“2003-12-25”,这些日期均是大于 "2003-2-1"的。
如何写代码才能查询出正确的时间段的数据呢?

[此贴子已经被作者于2007-8-23 9:20:00编辑过]

4 回复
#2
Kendy1234562007-08-23 10:06

where convert(datetime,nsrq) < convert(datetime, '2003-2-1')

#3
foshan2007-08-23 10:35

谢谢回复!
怎么出现这个错误提示:从字符串转换为 datetime 时发生语法错误。

#4
Kendy1234562007-08-23 11:25

这说明你的nrsq这个字段不像你所说的全是保存的日期格式的文本 某条记录不是合法的日期格式

去检查数据吧

#5
foshan2007-08-23 12:41

谢谢!果然是这个问题。

1