文本处理类函数:
mysql> SELECT UPPER('Hej'); -> 'HEJ'
说明:转换为大写
mysql> SELECT LEFT('foobarbar', 5); -> 'fooba'
说明:从左取字串
mysql> SELECT LENGTH('text'); -> 4
说明:返回串的长度
mysql> SELECT LOCATE('bar', 'foobarbar'); -> 4 mysql> SELECT LOCATE('xbar', 'foobar'); -> 0 mysql> SELECT LOCATE('bar', 'foobarbar', 5); -> 7
说明:查找字串位置
mysql> SELECT LOWER('QUADRATICALLY'); -> 'quadratically'
说明:转换串为小写
mysql> SELECT LTRIM(' barbar'); -> 'barbar'
说明:清除串左边空白
mysql> SELECT RTRIM('barbar '); -> 'barbar'
说明:清除串右边空白
mysql> SELECT TRIM(' bar '); -> 'bar' mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx' mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar' mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx'
说明:清除两边指定字符
mysql> SELECT RIGHT('foobarbar', 4); -> 'rbar'
说明:从右取字串
1.SOUNDEX将任何文本串转换为描述其语音表示的字母数字模式的算法,能对串进行发音匹配
mysql> SELECT SOUNDEX('LILIE'); -> 'L000' mysql> SELECT SOUNDEX('LILEE'); -> 'L000'
说明:对串进行发音匹配
mysql> SELECT SUBSTRING('Quadratically',5); -> 'ratically' mysql> SELECT SUBSTRING('foobarbar' FROM 4); -> 'barbar' mysql> SELECT SUBSTRING('Quadratically',5,6); -> 'ratica' mysql> SELECT SUBSTRING('Sakila', -3); -> 'ila' mysql> SELECT SUBSTRING('Sakila', -5, 3); -> 'aki' mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2); -> 'ki'
说明:返回串的子串
算术操作类函数:
mysql> SELECT ABS(2); -> 2 mysql> SELECT ABS(-32); -> 32
说明:返回一个数的绝对值
mysql> SELECT COS(PI()); -> -1
说明:返回一个角度的余弦
mysql> SELECT EXP(2); -> 7.3890560989307 mysql> SELECT EXP(-2); -> 0.13533528323661 mysql> SELECT EXP(0); -> 1
说明:返回一个数的指数值
mysql> SELECT MOD(234, 10); -> 4 mysql> SELECT 253 % 7; -> 1 mysql> SELECT MOD(29,9); -> 2 mysql> SELECT 29 MOD 9; -> 2
说明:返回除操作数的余数
mysql> SELECT PI(); -> 3.141593 mysql> SELECT PI()+0.000000000000000000; -> 3.141592653589793116
说明:返回圆周率
mysql> SELECT RAND(); -> 0.35877890638893
说明:返回一个0~1之间的随机数
mysql> SELECT SIN(PI()); -> 1.2246063538224e-16 mysql> SELECT ROUND(SIN(PI())); -> 0
说明:返回一个角度的正弦
mysql> SELECT SQRT(4); -> 2 mysql> SELECT SQRT(20); -> 4.4721359549996 mysql> SELECT SQRT(-16); -> NULL
说明:返回一个数的平方根
mysql> SELECT TAN(PI()); -> -1.2246063538224e-16 mysql> SELECT TAN(PI()+1); -> 1.5574077246549
说明:返回一个角度的正切
日期时间类函数:
mysql> SELECT ADDDATE('2008-01-02', 31); -> '2008-02-02'
说明:增加一个日期(天,周等)
mysql> SELECT ADDTIME('2007-12-31 23:59:59.999999', '1 1:1:1.000002'); -> '2008-01-02 01:01:01.000001' mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998'); -> '03:00:01.999997'
说明:增加一个时间(时,分等)
mysql> SELECT CURDATE(); -> '2008-06-13' mysql> SELECT CURDATE() + 0; -> 20080613
说明:返回当前日期,字符串+0返回一个数值型
mysql> SELECT CURTIME(); -> '23:50:26' mysql> SELECT CURTIME() + 0; -> 235026.000000
说明:返回当前时间,字符串+0返回一个浮点型
mysql> SELECT DATE('2016-01-01 12:12:12'); -> 2016-01-01
说明:返回日期时间中的日期部分
mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30'); -> 1 mysql> SELECT DATEDIFF('2010-11-30 23:59:59','2010-12-31'); -> -31
说明:计算两个日期之差
mysql> SELECT '2008-12-31 23:59:59' + INTERVAL 1 SECOND; -> '2009-01-01 00:00:00' mysql> SELECT INTERVAL 1 DAY + '2008-12-31'; -> '2009-01-01' mysql> SELECT '2005-01-01' - INTERVAL 1 SECOND; -> '2004-12-31 23:59:59' mysql> SELECT DATE_ADD('2000-12-31 23:59:59', -> INTERVAL 1 SECOND); -> '2001-01-01 00:00:00' mysql> SELECT DATE_ADD('2010-12-31 23:59:59', -> INTERVAL 1 DAY); -> '2011-01-01 23:59:59' mysql> SELECT DATE_ADD('2100-12-31 23:59:59', -> INTERVAL '1:1' MINUTE_SECOND); -> '2101-01-01 00:01:00' mysql> SELECT DATE_SUB('2005-01-01 00:00:00', -> INTERVAL '1 1:1:1' DAY_SECOND); -> '2004-12-30 22:58:59' mysql> SELECT DATE_ADD('1900-01-01 00:00:00', -> INTERVAL '-1 10' DAY_HOUR); -> '1899-12-30 14:00:00' mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY); -> '1997-12-02' mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002', -> INTERVAL '1.999999' SECOND_MICROSECOND); -> '1993-01-01 00:00:01.000001'
说明:高度灵活的日期运算函数
mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y'); -> 'Sunday October 2009' mysql> SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s'); -> '22:23:00' mysql> SELECT DATE_FORMAT('1900-10-04 22:23:00', -> '%D %y %a %d %m %b %j'); -> '4th 00 Thu 04 10 Oct 277' mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', -> '%H %k %I %r %T %S %w'); -> '22 22 10 10:23:00 PM 22:23:00 00 6' mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V'); -> '1998 52' mysql> SELECT DATE_FORMAT('2006-06-00', '%d'); -> '00'
说明:返回一个格式化的日期或时间串
mysql> SELECT DAY('2016-12-12 12:12:12') -> 12
说明:返回一个日期中的天数部分
mysql> SELECT DAYOFWEEK('2007-02-03'); -> 7
说明:返回对应日期的星期几
mysql> HOUR ('2016-12-12 12:12:12') -> 12
说明:返回日期时间中的小时部分
mysql> SELECT MINUTE ('2016-12-12 12:12:12') -> 12
说明:返回日期时间中的分钟部分
mysql> SELECT MONTH ('2016-12-12 12:12:12') -> 12
说明:返回日期时间中的月数部分
mysql> SELECT NOW(); -> '2007-12-15 23:50:26' mysql> SELECT NOW() + 0; -> 20071215235026.000000
说明:返回当前日期和时间
mysql> SELECT SECOND ('2016-12-12 12:12:12') -> 12
说明:返回日期时间中的秒数部分
mysql> SELECT TIME ('2016-12-12 12:12:12') -> 12:12:12
说明:返回日期时间中的时间部分
mysql> SELECT YEAR ('2016-12-12 12:12:12') -> 2016
说明:返回一个日期时间的年份部分