文本處理類函數:mysql
mysql> SELECT UPPER('Hej'); -> 'HEJ'
說明:轉換爲大寫算法
mysql> SELECT LEFT('foobarbar', 5); -> 'fooba'
說明:從左取字串sql
mysql> SELECT LENGTH('text'); -> 4
說明:返回串的長度函數
mysql> SELECT LOCATE('bar', 'foobarbar'); -> 4 mysql> SELECT LOCATE('xbar', 'foobar'); -> 0 mysql> SELECT LOCATE('bar', 'foobarbar', 5); -> 7
說明:查找字串位置code
mysql> SELECT LOWER('QUADRATICALLY'); -> 'quadratically'
說明:轉換串爲小寫字符串
mysql> SELECT LTRIM(' barbar'); -> 'barbar'
說明:清除串左邊空白class
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'
說明:清除兩邊指定字符call
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
說明:返回一個日期時間的年份部分