一些mysql函數TO_DAYS/UNIX_TIMESTAMP/replace/inner join等

mysql函數是數據庫進行查詢和調整時候的神器,之後學到更多的時候會陸續加進來php


TO_DAYS:
html

TO_DAYS能夠根據給定一個日期date,返回一個天數(從年份0開始的天數),能夠用在數據庫裏篩選某個日期以前或以後的數據。mysql

例如:select TO_DAYS(121018) (或者select TO_DAYS('2012-10-18'))獲得735159sql

根據日期條件更新數據:
數據庫

update table set `field1`=`field2` where to_days(time) >= (to_days(now()) - 6)ide


UNIX_TIMESTAMP:函數

UNIX_TIMESTAMP能夠將日期轉換爲時間戳url

以tp的sql執行語句爲例,計算某個時間段內的數據:
spa

$num = M('table')->where('UNIX_TIMESTAMP(time) >= '.$s.' and UNIX_TIMESTAMP(time) <= '.$e)->count();code


REPLACE:

好比替換某個字段裏的空格

update table set `name`=replace(name,'  ','')


inner join:

在mysql,update不能直接使用select的結果,這個時候咱們能夠使用inner join,好比將某記錄的兩個字段內容互換位置的SQL語句以下:

update table a inner join (select * from table where `id`=?) b

set a.`f1` = b.`f2`, a.`f2`= b.`f1`

where a.`id` = b.`id`

相關文章
相關標籤/搜索