目录
LPAD(str,len,padstr)
用字符串 padstr对 str进行左边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len',那么它将被截除到 len个字符。
SELECT LPAD('hi',4,'??'); -> '??hi'
RPAD(str,len,padstr)
用字符串 padstr对 str进行右边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len',那么它将被截除到 len个字符。
SELECT RPAD('hi',5,'?'); -> 'hi???'
IFNULL(expression_1,expression_2);
如果expression_1
不为NULL
,则IFNULL
函数返回expression_1
; 否则返回expression_2
的结果。
SELECT IFNULL(1,0); -- returns 1
- IFNULL(1,0)返回1,因为1不为NULL。
- IFNULL('',1)返回'',因为''字符串不为NULL
- IFNULL(NULL,'IFNULL function')返回IFNULL函数字符串,因为第一个参数为NULL。
判断数据库字段不为NULL也不为“”处理--->where ifnull(field, '' ) <> '' 【field是数据库字段】
DATE_FORMAT(date,format)
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') DATE_FORMAT(NOW(),'%m-%d-%Y') DATE_FORMAT(NOW(),'%d %b %y') DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
结果类似:
Dec 29 2008 11:45 PM 12-29-2008 29 Dec 08 29 Dec 2008 16:25:46.635
语法: TIMESTAMPDIFF(unit,begin,end); 根据单位返回时间差,对于传入的begin和end不需要相同的数据结构,可以存在一个为Date一个DateTime
单位:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
举例:
例1:求2017-01-01 - 2017-02-01 之间有几个月
SELECT TIMESTAMPDIFF(MONTH, '2017-01-01', '2017-02-01') as result; +--------+ | result | +--------+ | 1 | +--------+ row in set (0.00 sec)
例2:求 2017-01-01 - 2017-02-01 之间有几天
SELECT TIMESTAMPDIFF(DAY, '2017-01-01', '2017-02-01') as result; +--------+ | result | +--------+ | 31 | +--------+ row in set (0.00 sec)
例3:2017-01-01 08: 00:00 - 2017-01-01 08: 55:00 之间有几分钟
SELECT TIMESTAMPDIFF(MINUTE, '2017-01-01 08:00:00', '2017-01-01 08:55:00') result; +--------+ | result | +--------+ | 55 | +--------+ row in set (0.00 sec)
例4:求 2017-01-01 08: 00:00 - 2017-01-01 08: 55:33 之间有几分钟
SELECT TIMESTAMPDIFF(MINUTE, '2017-01-01 08:00:00', '2017-01-01 08:55:33') result; +--------+ | result | +--------+ | 55 | +--------+ row in set (0.00 sec)
例5:对于 SECOND 会怎样计算呢
SELECT TIMESTAMPDIFF(SECOND, '2017-01-01 08:00:00', '2017-01-01 08:55:33') result; 8 * 60 + 33 = 3333 +--------+ | result | +--------+ | 3333 | +--------+ row in set (0.00 sec)