9用正则表达式进行搜索
1使用MySQL正则表达式
1.1基本字符匹配
.表示匹配任意一个字符,因此1000,2000都返回。
LIKE和REGEXP区别:LIKE匹配整个列值,REGEXP匹配列值中的文本。
MySQL中的正则表达式匹配不区分大小写,为区分大小写可以使用BINARY关键字。
1.2进行OR匹配
操作符 | 实现OR功能。
1.3匹配几个字符之一
[123]匹配1或2或3。[^123]匹配除这三个字符以外的东西。
1.4匹配范围
[0123456789]等价于[0-9]。
1.5匹配特殊字符
为了匹配特殊字符,正则表达式需要转义,如:\\- 表示查找 -, \\. 表示查找. ,\\\ 表示查找 \。
正则表达式一般使用单个反斜杠转义特殊字符。但MySQL要求两个反斜杠(MySQL解释一个,正则表达式库解释一个)。
1.6匹配字符类
如[:lower:]匹配任意小写字母,[:upper:]匹配任意大写字母,等。
1.7匹配多个实例
* 0个或多个匹配
+ 1个或多个匹配(等价于{1,})
? 0个或1个匹配(等价于{0,1})
{n} 指定数目的匹配
{n,} 不少于指定数目的匹配
{n,m} 匹配的数目范围
举例:
注:[:digit:]匹配任意数字,[[:digit:]]等价于[0-9]。
1.8定位符
^文本的开始,$文本的结尾。
匹配.或任意数字打头的文本。
^的两种用法,除了上述用作定位符外,还可以在集合中[],用它来取反,见1.3。
10创建计算字段
1计算字段
指我们直接从数据库中检索出转换、计算或格式化过的数据。
2拼接字段
Concat()拼接串,把多个串连接起来形成一个较长的串。
Trim(),RTrim(),LTrim(),分别是去掉两端空格,去掉右端空格,去掉左端空格。
3使用别名
Concat拼接后,使用AS 把结果命名为vend_title。
4执行算数计算
11使用数据处理函数
1函数
函数没有SQL的可移植性强,所以当你使用函数时应做好注释。
2使用
其中主要包括文本处理函数,日期和时间处理函数,数值处理函数。
2.1文本处理
比如Upper()将文本转换为大小写,对应的有Lower()等等。
2.2日期时间处理
Date(),Time(),Year(),Month(),Day()等等。
可以和关键字BETWEEN,AND 等组合使用,例如:
order_date 值结构是 yyyy-mm-dd hh-mm-ss,Date()函数只取日期部分。
再如:
2.3 数值处理函数
Abs()返回绝对值,Cos()返回余弦值等...