+ -
当前位置:首页 → 问答吧 → 一个SQL语句的条件

一个SQL语句的条件

时间:2011-11-13

来源:互联网

如何写一个SQL语句,查询日期为今天(系统时间)的记录。。数据库里的时间是字符形式存储的。

select * from tablename where date like tochar(sysdate,'yymmdd')||'%'

我这么写,可是查不出来。。请教各位前辈

作者: mizuho_2006   发布时间: 2011-11-13

to_char

作者: lxpbs8851   发布时间: 2011-11-13

SQL code
--1.假设你的数据库中,日期的存储为8位的年月日:
20110101
20111112
...


--sql
select * from tableName where date = to_char(sysdate, 'yyyyMMdd')

--2.假设你的数据库中,日期存储为带有时分秒的timestamp型,而你想抽出年月日相同的日期,不计较时分秒

20110101142330
...

--sql
select * from tableNmae where substr(date,0,8) = to_char(sysdate, 'yyyyMMdd')

作者: lxyzxq2008   发布时间: 2011-11-13

select * from tablename where date like to_date(to_char(sysdate,'yyyymmdd'),'yyyymmdd');

因为你的date是日期型(date型的),格式不匹配,无法比较,如果你的date只是存储年月日,可以用LS的,比较简单。

作者: edcvf3   发布时间: 2011-11-13

to1L: 对,我用的是to_char,这里打错了

to2L:不能用LIKE实现吗?数据库中是带时分秒的,所以才想要用like。

作者: mizuho_2006   发布时间: 2011-11-13

to 3L:我数据库里是用字符串存储时间字段的,所以不用转换成日期型。

作者: mizuho_2006   发布时间: 2011-11-13