2011年12月22日 星期四

Mysql日期時間和時間函數

所有記錄,其date_col的值是在最30天以內:
mysql> SELECT * FROM table 
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 

TO_DAYS(date)
mysql> SELECT TO_DAYS(950501);
-> 728779

mysql> SELECT TO_DAYS('1997-10-07');
-> 729669

DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應ODBC標準。
mysql> select DAYOFWEEK('1998-02-03'); 
-> 3 

DAYOFYEAR(date)
返回date在一年中的日數, 在1到366范圍內。
mysql> select DAYOFYEAR('1998-02-03'); 
-> 34

限制在 24小時內:秒數相減小於24小時(86400秒)
((unix_timestamp(NOW())- unix_timestamp(`startTime`)) <'86400')
select unix_timestamp('2008-08-08');           -- 1218124800

限制:一個ip一天只記錄一次點擊物品
$sql="select count(*) as c from web_log where DATE(now())=DATE(time)  and commodity_sn='$sn' and ip='$address'";
 
 $serachWebLogData=lazy_get_line($sql);
 if(! $serachWebLogData['c']>=1){
              //如果沒有資料就可以做插入
              $sql="insert....";

沒有留言: