《MySQL必知必會》讀書筆記_2
通配符:(尾空格可能會干擾通配符匹配)
% 匹配任意字符 _ 匹配任意單個字符
正則表達式:REGEXP
用法就是替換掉LIKE的位置,後面配合正則表達式。
默認不區分大小寫,如果區分的話添加關鍵字BINARY 如:WHERE *** REGEXP BINARY ‘JetPack .000’
SELECT prod_name FROM products WHERE prod_name REGEXP '.000' ORDER BY prod_name
OR匹配
SELECT prod_name
FROM products
WHERE prod_name REGEXP '1000|2000'
ORDER BY prod_name
結果與上圖相同。
拼接串:CONCAT()把多個串連接起來形成一個較長的串。
SELECT CONCAT(vend_name,'(',vend_country,')')
FROM vendors
ORDER BY vend_name
RTRIM() 刪除右側多余空格來整理數據
LTRIM() 刪除左側多余空格來整理數據
TRIM() 刪除左右兩側的空格
AS使用別名
執行算數運算
SELECT prod_id,
quantity,
item_price,
quantity * item_price AS expanded_price
FROM orderitems
WHERE order_num = 20005
算數操作符支持 + - * / 。
測試計算:
SELECT TRIM(' abc ')
SELECT NOW()
LEFT() 返回串左邊字符
LENGTH() 返回串的長度
LOCATE() 找出一個串的子串
LOWER() 將串轉換為小寫
RIGHT() 返回串右邊的字符
SOUNDEX() 返回串的SOUNDEX值
SUBSTRING() 返回子串的字符
UPPER() 將串轉換為大寫
SOUNDEX是個將任何文本串轉換為描述其語音表示的字母數字模式的算法。
SELECT cust_name, cust_contact
FROM customers
WHERE cust_contact = 'Y Lie'
SELECT cust_name, cust_contact
FROM customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Y Lie')
時間函數:
DATE() 主要是日期
TIME() 主要是時間
NOW() 獲得當前時間
數值處理函數:
ABS() 返回一個數的絕對值
COS() 返回一個角度的余弦值
EXP() 返回一個數的指數值
MOD() 返回除操作的余數
PI() 返回圓周率
RAND() 返回一個隨機數
SIN() 返回一個角度的正弦
SQRT() 返回一個數的平方根
TAN() 返回一個角度的正切
聚集函數:
AVG() 返回某列的平均值
COUNT() 返回某列的行數
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列值之和,忽略列值為NULL的行。