关于between and查询问题

dreamer214 2012-09-03 10:09:18
select * from KPIDMPRD.F_SALEABETD_ADD where dateid between date '2012-2-23'and date '2012-7-23'

查询出的数据是从2012/5/29日开始的,而用select * from KPIDMPRD.F_SALEABETD_ADD where dateid =date '2012-2-23'则可以查询出具体的2月23号的记录,求指教,怎么才能查询出从2月23号到7月23号的所有记录呢?上面的语句错在什么地方?
...全文
210 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pzzer_1 2012-09-04
  • 打赏
  • 举报
回复
select dateid,date,* from KPIDMPRD.F_SALEABETD_ADD where date>='2012-2-23'and date<='2012-7-23'
dreamer214 2012-09-03
  • 打赏
  • 举报
回复
去掉data后错误提示文字与格式字符串不匹配
quchen520 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
select * from KPIDMPRD.F_SALEABETD_ADD where dateid between date '2012-2-23'and date '2012-7-23'

查询出的数据是从2012/5/29日开始的,而用select * from KPIDMPRD.F_SALEABETD_ADD where dateid =date '2012-2-23'则可以查询出具……
[/Quote]
去掉between 和 and 后面的date
'2012-2-23'的记录应该是可以查到的,而'2012-7-23'的记录可能不能查到。
因为不写时间默认是00:00:000的格式

另外,你不用把它转成date类型,一般情况它会自动进行隐式转换的
dreamer214 2012-09-03
  • 打赏
  • 举报
回复
不明白问题出在哪里,请指出,查询从2月23号到7月23号的所有记录的sql语句该怎么写?
筱筱澄 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

TO_DATE(V_GETENDDATE, 'yyyy-mm-dd') AS DATEID,而且存储过程里面转换成data类型了
[/Quote]TO_DATE 好像是oracle的吧
zhazhuzhao 2012-09-03
  • 打赏
  • 举报
回复
你的语句有问题,另外你的字段数据类型感觉也有问题!
dreamer214 2012-09-03
  • 打赏
  • 举报
回复
TO_DATE(V_GETENDDATE, 'yyyy-mm-dd') AS DATEID,而且存储过程里面转换成data类型了
dreamer214 2012-09-03
  • 打赏
  • 举报
回复
是Sqlserver,我是不太明白为什么2个语句查询的记录结果不一样
筱筱澄 2012-09-03
  • 打赏
  • 举报
回复
你的不是sqlserver吧?

或者你的列不是datetime 列 是字符串。
  • 打赏
  • 举报
回复
你的语句是SQL SERVER下的么?

select * from KPIDMPRD.F_SALEABETD_ADD where dateid between '2012-2-23'and '2012-7-23'

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧