文章目錄
- 1、函式
- 2、使用函式
- 2.1 文本處理函式
- 2.2 日期和時間處理函式
- 2.3 數值處理函式
1、函式
函式一般是在資料上執行的,它給資料的轉換和處理提供了方便,
2、使用函式
大多數SQL實作支持以下型別的函式,
1.用于處理文本串(如洗掉或填充值,轉換值為大寫或小寫)的文本函式,
2.用于在數值資料上進行算術操作(如回傳絕對值,進行代數運算)的數值函式,
3. 用于處理日期和時間值并從這些值中提取特定成分(例如,回傳兩個日期之差,檢查日期有效性等)的日期和時間函式,
4.回傳DBMS正使用的特殊資訊(如回傳用戶登錄資訊,檢查版本細節)的系統函式,
2.1 文本處理函式
常用的文本處理函式有:



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

2.2 日期和時間處理函式
常用的日期和時間處理函式有:

MySQL使用的日期格式必須為yyyy-mm-dd,



2.3 數值處理函式
數值處理函式一般主要用于代數、三角或幾何運算,因此沒有串或日期—時間處理函式的使用那么頻繁,
常用的數值處理函式有:

-- Upper()將文本轉換為大寫
SELECT vend_name, UPPER(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name;
-- 用函式soundex()對串進行發音比較
SELECT cust_name, cust_contact FROM customers WHERE SOUNDEX(cust_contact) = SOUNDEX ('Y lie');
-- 想要列中的日期部分,用date()函式
SELECT cust_id, order_num FROM orders WHERE DATE(order_date) = '2005-09-01';
-- 檢索2015年9月下的所有訂單
SELECT cust_id, order_num, order_date FROM orders WHERE DATE(order_date) BETWEEN '2005-09-01' AND '2005-09-30';
-- 檢索2015年9月下的所有訂單,方法2:一種不需要記住每個月中有多少天或不需要操心閏年2月的辦法
SELECT cust_id, order_num, order_date FROM orders WHERE YEAR(order_date) = 2005 AND MONTH(order_date) = 09;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/99455.html
標籤:AI
上一篇:關于QT大檔案讀寫——記憶體映射
