当前位置:Gxlcms > mysql > MYSQL常用函数_MySQL

MYSQL常用函数_MySQL

时间:2021-07-01 10:21:17 帮助过:66人阅读



########### 日期函数 ###########

select now(); -- 当时 yyyy-mm-dd hh:mm:ss
select curdate(); -- 当天 yyyy-mm-dd
select (curdate() - interval (weekday(curdate()) + 1) day); -- 本周第一天
select (curdate() - interval (day(curdate()) - 1) day); -- 本月第一天
select (curdate() - interval (dayofyear(curdate()) - 1) day); -- 本年第一天
select (now() + interval 1 month); -- 下个月今天
select last_day(curdate()); -- 本月最后一天
select last_day(curdate()) + interval 1 day; -- 下月第一天

select date_format('2014-07-08 23:59:59','%Y-%m-%d %H:%i:%s') -- str to date

-- 查找今天的发帖
1. CREATETIME >= date_format(now(),'%Y-%m-%d') and CREATETIME <= date_format('2014-07-08 23:59:59','%Y-%m-%d %H:%i:%s')
2. date_format(CREATETIME,'%Y-%m-%d') = LEFT(now(),10)
3. date_format(CREATETIME,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
4. CREATETIME like CONCAT(date_format(now(), '%Y-%m-%d'), '%')
5. CREATETIME >= curdate() -- and CREATETIME <= now() -- 首选


UNIX_TIMESTAMP(SUBSTR(FROM_UNIXTIME(r.REPAYMENT_TIME)FROM 1 FOR 10)) <> UNIX_TIMESTAMP(SUBSTR(NOW()FROM 1 FOR 10))
==>
r.REPAYMENT_TIME < UNIX_TIMESTAMP(curdate())
and r.REPAYMENT_TIME >= UNIX_TIMESTAMP(curdate() + interval 1 day)

########### 其他函数 ###########
TRUNCATE(X ,D )
ROUND(X ,D )
select 12000/4578, truncate(12000/4578, 10), truncate(12000/4578, 8), round(12000/4578, 8)

IF(expr1,expr2,expr3) --> case when expr1 then expr2 else expr3 end
IFNULL(expr1,expr2) --> case when expr1 is not null then expr1 else expr2 end
CONCAT(str1 ,str2 ,...) --> concat('%', ? '%')
select CONCAT_WS('|', '1','2','3')

人气教程排行