[SQL]patindex的用法
返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。 Transact-SQL 语法约定 语法 PATINDEX ( '%pattern%' , expression ) 备注
如果 pattern 或 expression 为 NULL,则当数据库的兼容级别为 时,PATINDEX 将返回 NULL;如果数据库兼容级别小于或等于 ,则仅当 pattern 和 expression 同时为 NULL 时,PATINDEX 才返回 NULL。 PATINDEX 基于输入的排序规则执行比较。若要以指定排序规则进行比较,则可以使用 COLLATE 将显式排序规则应用于输入值。 参数
pattern
一个文字字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个或最后一个字符时除外)。pattern 是字符串数据类型类别的表达式。 expression
一个表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别。 返回类型
如果 expression 的数据类型为 varchar(max) 或 nvarchar(max),则为 bigint,否则为 int。 示例
A. 在 PATINDEX 中使用模式
以下示例查找模式 ensure 在 Document 表的 DocumentSummary 列的某一特定行中的开始位置。 复制代码
USE AdventureWorks;
GO
SELECT PATINDEX('%ensure%',DocumentSummary)
FROM Production.Document
WHERE DocumentID = ;
GO 下面是结果集: 复制代码
----------- ( row(s) affected) 如果未通过 WHERE 子句限制要搜索的行,查询将返回表中的所有行,对在其中找到该模式的所有行报告非零值,对在其中未找到该模式的所有行报告零值。 B. 在 PATINDEX 中使用通配符
以下示例使用通配符查找模式 en_ure 在 Document 表中 DocumentSummary 列的某一特定行中的开始位置,其中下划线为代表任何字符的通配符。 复制代码
USE AdventureWorks;
GO
SELECT PATINDEX('%en_ure%', DocumentSummary)
FROM Production.Document
WHERE DocumentID = ;
GO 下面是结果集: 复制代码
------------ ( row(s) affected) 如果没有限制要搜索的行,查询将返回表中的所有行,对在其中找到该模式的所有行报告非零值。 C. 在 PATINDEX 中使用 COLLATE
以下示例使用 COLLATE 函数显式指定要搜索的表达式的排序规则。 复制代码
USE tempdb;
GO
SELECT PATINDEX ( '%ein%', 'Das ist ein Test' COLLATE Latin1_General_BIN) ;
GO 例子:
create table tab(sType varchar())
insert tab
select '良好'
union all
select '合格'
union all
select ''
union all
select '一般'
union all
select ''
union all
select ''
select * from tab where (case when patindex('%[0-9]%',sType)= then sType else end)<
or sType='良好' or sType='合格' drop table tab
[SQL]patindex的用法的更多相关文章
- SQL语句---nvl 用法
SQL语句---nvl 用法 一NVL函数是一个空值转换函数 NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值. 该函数的目的是把一个空值(nul ...
- SQL 语句日期用法及函数
SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class --返回天 ...
- SQL 中ROLLUP 用法
SQL 中ROLLUP 用法 ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集. 下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有 ...
- 标准SQL语言的用法
原文链接:http://www.ifyao.com/2015/05/18/%E6%A0%87%E5%87%86%E7%9A%84sql%E8%AF%AD%E8%A8%80%E4%BD%BF%E7%94 ...
- 9.mybatis动态SQL标签的用法
mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么 ...
- oracle数据库中sql%notfound的用法
SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回fal ...
- PL/SQL 的一些用法
变量的声明,赋值,打印(declare是pl/sql里面的用法 variable是sql*plus里面的用法,variable相当于一个sql*plus环境的全局变量,declare里定义的是pl/s ...
- 【Oracle】数据库中sql%notfound的用法
SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回fal ...
- sql的游标用法举例(Cursor)
sql的游标用法举例 ), ) Declare authors_cursor Cursor For Select Name,TrueName From Account Open authors_cur ...
随机推荐
- openJudge计算概论-谁考了第k名
/*===================================== 谁考了第k名 总时间限制: 1000ms 内存限制: 65536kB 描述 在一次考试中,每个学生的成绩都不相同,现知道 ...
- apache2: Could not reliably determine the server's fully qualified domain name
错误信息:apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 ...
- 移动设备上的媒体查询 CSS media queries for mobile device
CSS的媒体查询虽然在传统的互联网页面可能发挥的余地不是很大,但是自从苹果和安卓的风靡之后,移动平台上的web开发变得越来越流行了,同时CSS的媒体查询可谓派上了大用场了. 以下为翻译内容,原文来自这 ...
- 【shell】 for循环
#!/bin/bash for i in 1,3,4,6 ##有几个数就循环几次 do echo $i done for m in $( cat /root/num.log) ## /root/num ...
- Python 通过pickle标准库加载和保存数据对象
import pickle with open('mydata.pickle','wb') as mysavedata: pickle.dump([1,2,'three'], mysavedata) ...
- 五大Android布局方式浅析
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对 ...
- js工具类 ----正则
function(value){ if(value){ var reg=new RegExp("^[a-zA-Z0-9_-]+$"); return reg.test(v ...
- 黄聪:PHP5.6+7代码性能加速-开启Zend OPcache-优化CPU
说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法 ...
- 黄聪:Dsicuz x2.5、X3、X3.2如何去掉域名后面的/forum.php
Dsicuz x2.5去掉域名后面的/forum.php 1, 后台--全局--域名设置--应用域名--设置默认域名为访问域名就可以,如:www.xxxxx.com 上面2种方法都可以去掉域名后面的/ ...
- DBA_Oracle Sort排序处理空间耗用(概念)
2014-12-18 Created By BaoXinjian