MySql中时间的比较

2014-07-01 23:14:53|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:MySQL, 数据库|来源:唯设编程网

unix_timestamp

函数可以接受一个参数,也可以不使用参数。它的返回值是一个无符号的整数。不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如果使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970-01-01 00:00:00到指定时间所经历的秒数。有了这个函数,就可以很自然地把时间比较转换为一个无符号整数的比较。 

例如,判断一个时间是否在一个区间内 

unix_timestamp( time ) between unix_timestamp( 'start ') and unix_timestamp( 'end' ) 

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。

这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:

mysql> SELECT something FROM table  

WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;  

DAYOFWEEK(date)  

返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。  

mysql> select DAYOFWEEK('1998-02-03');  

-> 3  

WEEKDAY(date)  

返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。  

mysql> select WEEKDAY('1997-10-04 22:23:00');  

-> 5  

mysql> select WEEKDAY('1997-11-05');  

-> 2

DAYOFMONTH(date)  

返回date的月份中日期,在1到31范围内。  

mysql> select DAYOFMONTH('1998-02-03');  

-> 3

DAYOFYEAR(date)  

返回date在一年中的日数, 在1到366范围内。  

mysql> select DAYOFYEAR('1998-02-03');  

-> 34

MONTH(date)  

返回date的月份,范围1到12。  

mysql> select MONTH('1998-02-03');  

-> 2  

DAYNAME(date)

返回date的星期名字。  

mysql> select DAYNAME("1998-02-05");  

-> 'Thursday'  

MONTHNAME(date)  

返回date的月份名字。  

mysql> select MONTHNAME("1998-02-05");  

-> 'February'

QUARTER(date)  

返回date一年中的季度,范围1到4。  

mysql> select QUARTER('98-04-01');  

-> 2 

WEEK(date)  

WEEK(date,first)  

对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许  

你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,  

从星期一开始。  

mysql> select WEEK('1998-02-20');  

-> 7  

mysql> select WEEK('1998-02-20',0);  

-> 7  

mysql> select WEEK('1998-02-20',1);  

-> 8 

YEAR(date)

返回date的年份,范围在1000到9999。  

mysql> select YEAR('98-02-03');  

-> 1998

HOUR(time)  

返回time的小时,范围是0到23。  

mysql> select HOUR('10:05:03');  

-> 10

发表评论0条 】
网友评论(共?条评论)..
MySql中时间的比较