外地客户如不方便将要进行数据恢复的储存设备(如硬盘,U盘等)送到我们数据恢复中心,可以通过快递至我数据恢复中心。

SQL Server如何使用正则表达式定位符

目前为止的所有例子都是匹配一个串中任意位置的文本。为了匹配特定位置的文本,需要使用表9-4列出的定位符。

元字符 说明
^
$
[[:<:J]
[[:>:]]
文本的开始
文本的结尾
词的开始
词的结尾

例如,如果你想找出以一个数(包括以小数点开始的数)开始的所有产品,怎么办?简单搜索[0-9\\.](或[[:digit:]\\.])不行,因为它将在文本内任意位置查找匹配。解决办法是使用^定位符,如下所示:

SELECT prod_name
FROM products
WHERE prod_name REGEXP 'A[O-9\\.]'
ORDER BY prod_name;

输出

prod_name
.5 ton anvil
1 ton anvil
2 ton anvil

^匹配串的开始。因此,^[0-9\\.]只在.或任意数字为串中第一个字符时才匹配它们。没有^, 则还要多检索出4个别的行 (那些中间有数字的行) 。

^的双重用途 ^有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处。

使REGEXP起类似LIKE的作用 本章前面说过,LIKE和REGEXP的不同在于,LIKE匹配整个串而REGEXP匹配子串。利用定位符,通过用^开始每个表达式,用$结束每个表达式,可以使REGEXP的作用与LIKE一样。

简单的正则表达式测试 可以在不使用数据库表的情况下用SELECT来测试正则表达式。 REGEXP检查总是返回0 (没有匹配)或1(匹配)。可以用带文字串的REGEXP来测试表达式,并试验它们。相应的语法如下:

SELECT 'hel1o'REGEXP'[O-9]';

这个例子显然将返回0(因为文本hello中没有数字) 。

转载请注明:成都千喜数据恢复中心 » SQL Server如何使用正则表达式定位符

喜欢 (171)or分享 (0)

您必须 登录 才能发表评论!