要用SQL语言查询一个时间段内的数据,连接串怎么写?
数据表VIBDATA里的记录,有一个时间字段TIME,形式是:年-月-日时:分:秒,比如"2009-09-0114:00:21",现在由用户提供起始时间和结束时间,怎么写...
数据表VIBDATA里的记录,有一个时间字段TIME,形式是:年-月-日 时:分:秒,比如"2009-09-01 14:00:21",现在由用户提供起始时间和结束时间,怎么写连接串,能从数据库里查到所有的符合起止时间的数据?
select * form VIBDATA where ID like '1101' and TIME ……
后面怎么写?
"2009-09-01 14:00:21"里,日期和时间中间有一个空格
连接串前面确实应该是like '%1101%',高手果然很细
Oracle数据库,建库的人告诉我,TIME字段是这样建的:"TIME" DATE NOT NULL,应该是日期时间类型
jomissor,您提供的连接串
select * from table where time between to_Date(20091001,'yyyymmdd') and to_date(20091001235959,'yyyymmddhh24miss')
to_date()和里面的'yyyymmdd'是什么意思,以及后面的'yyyymmddhh24miss'怎么理解,能再详细地解释下吗? 展开
select * form VIBDATA where ID like '1101' and TIME ……
后面怎么写?
"2009-09-01 14:00:21"里,日期和时间中间有一个空格
连接串前面确实应该是like '%1101%',高手果然很细
Oracle数据库,建库的人告诉我,TIME字段是这样建的:"TIME" DATE NOT NULL,应该是日期时间类型
jomissor,您提供的连接串
select * from table where time between to_Date(20091001,'yyyymmdd') and to_date(20091001235959,'yyyymmddhh24miss')
to_date()和里面的'yyyymmdd'是什么意思,以及后面的'yyyymmddhh24miss'怎么理解,能再详细地解释下吗? 展开
5个回答
展开全部
具体看你是ORACLE还是SQL,写法不一样
ORACLE:select * from table where time between to_Date(20091001,'yyyymmdd') and to_date(20091001235959,'yyyymmddhh24miss')
SQL:select * from table where time between '2009-10-01' and '2009-10-02 23:59:59'
以上是TIME列是日期格式的时候用,如果是字符格式,就简单些了.
select * from table where time between '2009-10-01' and '2009-10-02 23:59:59'
这样就行.
呵呵,'yyyymmdd'和'yyyymmddhh24miss'是指日期的格式.
yyyy对应年(YEAR),MM对应月(MONTH),DD对应日(DAY),HH对应小时(HOUR),24代表24小时制,MI代表分钟(minute),SS代表秒(SECOND).前面的日期多长,后面的格式就要对应多长.比如20091001对'yyyymmdd',20091001235959对'yyyymmddhh24miss'
ORACLE:select * from table where time between to_Date(20091001,'yyyymmdd') and to_date(20091001235959,'yyyymmddhh24miss')
SQL:select * from table where time between '2009-10-01' and '2009-10-02 23:59:59'
以上是TIME列是日期格式的时候用,如果是字符格式,就简单些了.
select * from table where time between '2009-10-01' and '2009-10-02 23:59:59'
这样就行.
呵呵,'yyyymmdd'和'yyyymmddhh24miss'是指日期的格式.
yyyy对应年(YEAR),MM对应月(MONTH),DD对应日(DAY),HH对应小时(HOUR),24代表24小时制,MI代表分钟(minute),SS代表秒(SECOND).前面的日期多长,后面的格式就要对应多长.比如20091001对'yyyymmdd',20091001235959对'yyyymmddhh24miss'
展开全部
时间本来就有空格的,没事的,楼主你用 like '1101' 有意义吗? 是不是少了个“%”。
这就要看你时间段的精确值了,如果只到天,则:
select * from vibdata where id like '1101%' and time between to_date('起始时间','yyyymmdd') and to_date('结束时间','yyyymmdd')。
这就要看你时间段的精确值了,如果只到天,则:
select * from vibdata where id like '1101%' and time between to_date('起始时间','yyyymmdd') and to_date('结束时间','yyyymmdd')。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from vibdata where id like '%1101%' and time > to_date('2009-09-01','yyyy-mm-dd') and time <= to_date('2009-09-01','yyyy-mm-dd')
形式就是这样
形式就是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT *
FROM VIBDATA
WHERE Date BETWEEN '开始时间' AND '结束时间'
FROM VIBDATA
WHERE Date BETWEEN '开始时间' AND '结束时间'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from vibdata where id like '1101%' and time between to_date(起始时间,'hh24:mi:ss') and to_date(结束时间,'hh24:mi:ss')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询