文本处理类函数:
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
说明:返回一个日期时间的年份部分
来源:oschina
链接:https://my.oschina.net/u/2612057/blog/661170