通配符:(尾空格可能会干扰通配符匹配)
% 匹配任意字符 _ 匹配任意单个字符
正则表达式: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的行。