1. 程式人生 > >MySQL資料處理函式

MySQL資料處理函式

使用函式的話要注意寫清程式碼註釋,因為MySQL的程式碼移植性沒有SQL高。

總結

  1. 處理文字
  2. 處理數值資料
  3. 處理日期和時間值
  4. 返回特殊資訊,如使用者登入、版本檢查等系統函式

1. 處理文字

1.1 變小寫

SELECT Lower('HELLO');

+----------------+

| Lower('HELLO') |

+----------------+

| hello          |

+----------------+

1.2 變大寫

SELECT Upper('hello');

+----------------+

| Upper('hello') |

+----------------+

| HELLO          |

+----------------+

1.3 擷取左邊兩位:注意要標擷取長度。擷取右邊同理

SELECT Left('hello',3);

+-----------------+

| Left('hello',3) |

+-----------------+

| hel        |

+-----------------+

1.4定位某個str在串中的位置:SELECT Locate('o','hello');

+---------------------+

| Locate('o','hello') |

+---------------------+

|             5 |

+---------------------+

1.5 選擇子串,從哪位開始取:注意要先給出起始位置,輸出包括起始位置

SELECT SubString('hello',2);

+----------------------+

| SubString('hello',2) |

+----------------------+

| ello                   |

+----------------------+

1.6 通過相似發音進行檢索 不太靠譜

想要匹配Y Sam,試了Sun,Sam都不行,感覺發音還挺相同的呀,可能一定要兩個詞及以上才能匹配上吧==,最後試了Y Sun可以。

SELECT cust_name,cust_contact from customers where Soundex(cust_contact)=Soundex('y sun');

+----------------+--------------+

| cust_name      | cust_contact |

+----------------+--------------+

| Yosemite Place | Y Sam        |

+----------------+--------------+

2. 日期和時間處理函式

日期格式 yyyy-mm-dd

2.1 Date()把有時分秒的時間只取日期

SELECT Date('2005-09-01 11:30:30');

+-----------------------------+

| Date('2005-09-01 11:30:30') |

+-----------------------------+

| 2005-09-01                  |

+-----------------------------+

2.2 AddDate() 增加天數

SELECT AddDate('2005-02-01',28);

+--------------------------+

| AddDate('2005-02-01',28) |

+--------------------------+

| 2005-03-01               |

+--------------------------+

2.3 AddTime()增加時間,注意格式

SELECT AddTime('2005-09-01 11:30:30','0:1:59');

+-----------------------------------------+

| AddTime('2005-09-01 11:30:30','0:1:59') |

+-----------------------------------------+

| 2005-09-01 11:32:29                     |

+-----------------------------------------+

2.4 Curdate()返回當前日期

SELECT Curdate();

+------------+

| curdate()  |

+------------+

| 2018-09-26 |

+------------+

3. 數值處理函式