在我的应用程序中,我试图从数据库中获取数据,在给定记录范围内的记录中。
下面给出的是我用于获取数据的查询以及我从SQL服务器获取的错误。
查询
*.pid
错误
将varchar数据类型转换为日期时间数据类型会导致超出范围的值。
表中的值如下:
列的数据类型是varchar。 我尝试了很多解决方案,但找不到任何相关的答案。如果有人可以帮我解决这个问题。
提前致谢!
答案 0 :(得分:0)
您的问题似乎是您的SQL Server使用美国日期m / d / y。你应该使用标准格式yyyy-mm-dd,它应该始终有效。
因此,对于您的查询,请尝试:
select *
from table_name
where CAST(RequestCreatedOn as DateTime) BETWEEN '2015-08-31 12:00:00.000' AND '2015-09-15 12:00:00.000'
您还应该使用最合适的数据类型o我很想将表格中的数据类型更改为日期时间。
答案 1 :(得分:0)
尝试在比较前使用convertion:
SELECT
*
FROM table_name
WHERE RequestCreatedOn BETWEEN CONVERT(DATETIME, '31-08-2015 12:00:00.000',105)
AND CONVERT(DATETIME, '15-09-2015 12:00:00.000',105)