mysql函数是数据库进行查询和调整时候的神器,以后学到更多的时候会陆续加进来
TO_DAYS:
TO_DAYS可以根据给定一个日期date,返回一个天数(从年份0开始的天数),可以用在数据库里筛选某个日期之前或之后的数据。
例如:select TO_DAYS(121018) (或者select TO_DAYS('2012-10-18'))得到735159
根据日期条件更新数据:
update table set `field1`=`field2` where to_days(time) >= (to_days(now()) - 6)
UNIX_TIMESTAMP:
UNIX_TIMESTAMP可以将日期转换为时间戳
以tp的sql执行语句为例,计算某个时间段内的数据:
$num = M('table')->where('UNIX_TIMESTAMP(time) >= '.$s.' and UNIX_TIMESTAMP(time) <= '.$e)->count();
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`