mysql文本處理函數實例(數據處理函數的使用一)

文本處理函數

之前我們說過用來去除串尾空格的rtrim()函數,這就是用函數處理本文。

下面我們介紹另外一個函數,upper()函數:

輸入:

select?vend_name,upper(vend_name)?as?vend_name_upcase?from?vendors?order?by?vend_name;

輸出:

mysql文本處理函數實例(數據處理函數的使用一)

分析:正如所見,upper()將文本轉換為大寫,因此本例子中每個供應商都列出兩次,第一次為vendors表中存儲的值,第二次作為vend_name_upcase轉換為大寫。

下表列出了某些常用的文本處理函數:

mysql文本處理函數實例(數據處理函數的使用一)

mysql文本處理函數實例(數據處理函數的使用一)

表中的soundex需要進一步的解釋。soundex是一個將任何文本串轉換為描述其語音表示的字母數字模式的算法。soundex考慮了類似的發音字符和音節,使得能對串進行發音比較而不是字母比較。雖然soundex不是SQL概念,但MySQL都提供對soundex的支持。

下面給出一個使用soundex()函數的例子。customers表中有一個顧客Coyote Inc.,其聯系名為Y.Lee。但如果這是輸入錯誤,此聯系名實際應該是Y.Lie,怎么辦呢?顯然,按正確的聯系名所搜不會返回數據,如下所示:

輸入:

select?cust_name,cust_contact?from?customers?where?cust_contact?=?'Y.Lie';

輸出:

mysql文本處理函數實例(數據處理函數的使用一)

現在試一下使用soundex()函數進行搜索,它匹配所有發音類似于Y.Lie的聯系名:

輸入:

select?cust_name,cust_contact?from?customers?where?soundex(cust_contact)?=soundex('Y.Lie');

輸出:

mysql文本處理函數實例(數據處理函數的使用一)

分析:在這個例子中,where子句使用soundex()函數來轉換cust_contact列值和搜索串為它們的soundex值。因為Y.Lee和Y.Lie發音相似,所以它們的soundex值匹配,因此where子句正確地過濾除了所需的數據。

【相關推薦】

  1. ?MySQL在線免費視頻教程

  2. MySQL在線免費視頻教程

  3. MySQL在線免費視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享