【江湖救急】SQL语句中如何编写查询一个字符范围?

Derekfan 2008-07-23 03:13:35
各位大侠,我用between 怎么会不行呢?请问between有格式限制吗?
我要解决的是这样的一个问题,由于我的束缚我把数据库里的日期的类型设为vchar现在要求一个日期时间访问。
例如:select * from dometable between 2008-1-25-6 12:12:12 and 2008-12-25-6 12:12:12

结果是没有达到查询出来数据。

请问是什么问题呢?

能否不改变数据库的数据类型来解决这个问题!
...全文
185 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Derekfan 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ok1234567 的回复:]
你这个日期时间串太怪异:2008-1-25-6 12:12:12
[/Quote]

我打错了,哈哈!

问题已经解决了,我用sql语句无法做到,但是我把判断放到界面上来做。在界面上来判断简单多了!


非常感谢大家!

ok1234567 2008-07-23
  • 打赏
  • 举报
回复
你这个日期时间串太怪异:2008-1-25-6 12:12:12
正常情况下,你需要将字段转换为datetime,效率很低,如果时间串是规范的(月和日使用两位),就不需要转了
select * from dometable where CONVERT(datetime,your_field) between '2008.1.25 12:12:12.000' and '2008.12.25 12:12:12.998'
inpriser 2008-07-23
  • 打赏
  • 举报
回复
select * from dometable where Format(date,"yyyy-mm-dd hh:mi:ss") between '2008-1-25-6 12:12:12' and '2008-12-25-6 12:12:12'
Derekfan 2008-07-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tabby 的回复:]
日期类型?? ACCESS日期类型要在条件字符串两边加上"#" 即 #2008-08-08 08:00:00#
[/Quote]

select * from dometable where date between 2008-1-25-6 12:12:12 and 2008-12-25-6 12:12:12

但是date不是日期类型的
内存泄漏 2008-07-23
  • 打赏
  • 举报
回复
日期类型?? ACCESS日期类型要在条件字符串两边加上"#" 即 #2008-08-08 08:00:00#
FORTUNATE99 2008-07-23
  • 打赏
  • 举报
回复
前面错了~
应当是:

SQL Server
select * from dometable WHERE 字段名 between '2008-1-25-6 12:12:12' and '2008-12-25-6 12:12:12'
Access
select * from dometable WHERE 字段名 between #2008-1-25-6 12:12:12# and #2008-12-25-6 12:12:12#
wanshi131 2008-07-23
  • 打赏
  • 举报
回复
可以用sql语句做一下类型转换(CONVERT)
好多年没用过sql了,去数据库论坛问应该快一些
FORTUNATE99 2008-07-23
  • 打赏
  • 举报
回复
SQL Server
select * from dometable between '2008-1-25-6 12:12:12' and '2008-12-25-6 12:12:12'
Access
select * from dometable between #2008-1-25-6 12:12:12# and #2008-12-25-6 12:12:12#

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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