% 匹配任意字符 _ 匹配任意单个字符
用法就是替换掉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() 删除左右两侧的空格
执行算数运算
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() 返回除操作的余数
RAND() 返回一个随机数
SIN() 返回一个角度的正弦
SQRT() 返回一个数的平方根
TAN() 返回一个角度的正切
AVG() 返回某列的平均值
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列值之和,忽略列值为NULL的行。