2024年3月20日发(作者:)
关于SQL时间类型的模糊查询
今天用time Like '2008-06-01%'语句来查询该天的所有数据,被提示语句错
误。查了一下才发现该模糊查询只能用于String类型的字段。
自己也查阅了一些资料。关于时间的模糊查询有以下三种方法:
t转成String,在用Like查询。
select * from table1 where convert(varchar,date,120) like '2006-0
4-01%'
n
select * from table1 where time between '2006-4-1 0:00:00' and '2006-
4-1 24:59:59'";
3 datediff()函数
select * from table1 where datediff(day,time,'2006-4-1')=0
第一种方法应该适用与任何数据类型;
第二种方法适用String外的类型;
第三种方法则是为date类型定制的比较实用快捷的方法。
MySQL时间字段的查询方法
2010-08-25 13:52
描述:有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查
询一个时间段内过生日的会员,比如'06-03'到'07-08'这个时间段内所有过生日
的会员。
SQL语句: Select * From user Where DATE_FORMAT(birthday,'%m-%d') >=
'06-03' and DATE_FORMAT(birthday,'%m-%d') <= '07-08';
------查询时间段内的记录--------------------------------------
select * from manipulate_journal where
DATE_FORMAT(manipulate_time,'%Y-%m-%d %H:%i:%s') >= '2012-04-18
0:00:00' and DATE_FORMAT(manipulate_time,'%Y-%m-%d
%H:%i:%s') <= '2012-04-18 23:59:59';
------------------------------------------------------------------
说明:常用的时间日期处理函数,上面的主要是DATE_FORMAT()这个函数的应用。
1、DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, „„7=星期六)。这些索引值
对应于ODBC标准。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
2、 WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, „„6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
3、DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql> select DAYOFMONTH('1998-02-03');
-> 3
4、DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql> select DAYOFYEAR('1998-02-03');
-> 34
5、MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH('1998-02-03');
-> 2
6、DAYNAME(date)


发布评论