初学者问:日期时间查询问题!

ffww 2009-04-20 11:49:39
表A,日期字段DATETMP,时间字段TIMETMP
请问如何用SQL查询出日期2007-1-1 10:00:00到2009-4-18 12:00:00中的所有记录?(注意日期时间是两个字段)
谢谢.
...全文
77 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
usher_gml 2009-04-20
  • 打赏
  • 举报
回复
select * from tb
where cast(DATETMP+' '+TIMETM as datetime) between '2007-1-1 10:00:00' and '2009-4-18 12:00:00'
wojiaochenglong 2009-04-20
  • 打赏
  • 举报
回复
datetime类型本身就是包含年月日时分秒的,可以试一试把这两个字段转化为nvarchar型,然后再用substring提取两个日期中你想要的部分
ffww 2009-04-20
  • 打赏
  • 举报
回复
大家理解错了, 我的意思是日期时间分别是两个字段
我下面语句写得不对,就是那个意思.
select * from tab where DATETMP>'2007-1-1' and TIMETMP< 12:00:00'
Rotel-刘志东 2009-04-20
  • 打赏
  • 举报
回复
两种写法:
方法一:
1.select * from tab where DATETIME between '2007-1-1 10:00:00' and '2009-4-18 12:00:00'
方法二:
2、select * from tab where DATETIME>'2007-1-1 10:00:00' and DATETIME<'2009-4-18 12:00:00'
htl258_Tony 2009-04-20
  • 打赏
  • 举报
回复
select * 
from tb
where cast(DATETMP+' '+TIMETM as datetime) between '2007-1-1 10:00:00' and '2009-4-18 12:00:00'
改正.
htl258_Tony 2009-04-20
  • 打赏
  • 举报
回复
select * 
from tb
where cast(DATETMP+' '+TIMETM as datetime) between '2007-1-1' and '2009-4-18'
taoistong 2009-04-20
  • 打赏
  • 举报
回复

select * from talbe where col between '2007-1-1 10:00:00' and '2009-4-18 12:00:00'
issacp 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ffww 的回复:]
大家理解错了, 我的意思是日期时间分别是两个字段
我下面语句写得不对,就是那个意思.
select * from tab where DATETMP>'2007-1-1' and TIMETMP < 12:00:00'
[/Quote]

楼主以下是不是你想要的结果
select * from tab where DATETIME between '2007-1-1 10:00:00' and '2009-4-18 12:00:00'
union
select * from tab where TIMETMP between '2007-1-1 10:00:00' and '2009-4-18 12:00:00'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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