SQL中 patindex函数的用法
语法格式:PATINDEX ( '%pattern%' , expression )
返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。
pattern字符串在expression表达式里没找就返回0,对所有有效的文本和字符串就是有效的数据类型。
描述一下此函数的具体用法:
1. PATINDEX ( '%pattern%' , expression )
'%pattern%'的用法类似于 like '%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出现的位置。
如:
select patindex('�b%','abcaabbeeabb')
结果5,也就是abb第一次出现的位置。
2.PATINDEX ( '%pattern' , expression )
'%pattern' 类似于 like '%pattern'的用法,前面用模糊查找,也就是查找pattern的结束所在expression的位置,也就是从后面匹配起查找。
如:
select patindex('�b','abcaabbeeabb')
返回10,也就是abb在后面第一次出现的位置。
select patindex('�b','abcaabbeeabbr')
返回0,后面的第一个字母r和abb不匹配,所以返回0
3.PATINDEX ( 'pattern%' , expression )
'pattern%'类似于 like 'pattern%'也就前面用精确查找,后面模糊查找,也就相当于查询pattern首次出现的位置。
如:
select patindex('abb%','abbcaabbeeabb')
返回1,也就相当于起始值
select patindex('abb%','arbbcaabbeeabb')
返回0,开头找不到就返回0,后面无论有多少都不管。
4.PATINDEX ( 'pattern' , expression )
这就相当于精确匹配查找,也就是pattern,expression完全相等。
如:
select patindex('abb','abb')
返回1,完全相等
select patindex('abb','abbr')
返回0,不完全相等
5. patindex('%[pattern]%','ddabcaabbeeabbr'),
patindex('%[^pattern]%','ddabcaabbeeabbr')
在此先说[]的用法,[]是指定某些特殊的字符。[^]除[]之外的字符串,[]这其中的每一个。
如:
Symbol Meaning
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d and abc_de
LIKE 'abc[def]' abcd, abce, and abcf
如:
select patindex('%[d]%','rcrdsddddaadadffdr')
返回4,[]中d在字符串rcrdsddddaadadffdr的第一次出现的位置。
select patindex('%[cd]%','rcrdsdddrdaadadffdr')
返回2,[]中c,d在其中一个的位置,返回最先出现的这个位置,c在此字符串里第一次出现位置是2,而d是4,结果取最先的那个。
select patindex('%[sd]%','rcrdsdddrdaadadffdr')
返回4,[]中c,d在其中一个的位置,返回最先出现的这个位置,s在此字符串里第一次出现位置是5,而d是4,结果取最先的那个。
select patindex('%[^r]%','rrrdsdddrdaadadffdr')
返回4,除[]中的字符串的匹配字符,第一次出现d不在[^r]里,所以就找到第一次这位。
select patindex('%[^rd]%','rrrdsdddrdaadadffdr')
返回5,除[]中的字符串的匹配字符,第一次出现s不在[^rd]里,所以就找到第一次这位。
select patindex('%[^rsd]%','rrrdsdddrdaadadffdr')
返回11,除[]中的字符串的匹配字符,第一次出现a不在[^rsd]里,所以就找到第一次这位。
SQL中 patindex函数的用法的更多相关文章
- Sql Server REPLACE函数的使用;SQL中 patindex函数的用法
Sql Server REPLACE函数的使用 REPLACE用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法REPLACE ( ''string_replace1'' ...
- 转:SQL中 patindex函数的用法
语法格式:PATINDEX ( '%pattern%' , expression ) 返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算. pattern字符串在 ...
- SQL中DATENAME函数的用法
在SQL数据库中有多种函数,下面就将为您介绍其中的DATENAME函数的用法,供您参考,希望对您学习SQL中函数的用法能有所帮助. 在SQL数据库中,DATENAME函数的作用是是从日期中提取指定部分 ...
- SQL中SUBSTRING函数的用法
功能:返回字符.二进制.文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length ) SQL 中的 substring 函数是用来抓出一个栏位资料中的 ...
- sql中decode(...)函数的用法
相当于if语句 decode函数比较1个参数时 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM bank #如果第一个 ...
- sql中Cast()函数的用法
一.MYSQL 只需要一个Cast()函数就能搞定.其语法为:Cast(字段名 as 转换的类型 ),其中类型可以为: BINARY[(N)]CHAR[(N)] 字符型DATE 日期型DATETIM ...
- SQL中CONVERT()函数用法详解
SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...
- SQL中EXISTS和IN用法
SQL中EXISTS的用法 指定一个子查询,检测行的存在. 语法:EXISTS subquery 参数:subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INT ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
随机推荐
- Python 字典 Print 格式化
__author__ = 'dell' ab = {'Swaroop': 'swaroopch@byteofpython.info', 'Larry': 'larry@wall.org', 'Mats ...
- [BZOJ 2350] [Poi2011] Party 【Special】
题目链接: BZOJ - 2350 题目分析 因为存在一个 2/3 n 大小的团,所以不在这个团中的点最多 1/3 n 个. 牺牲一些团内的点,每次让一个团内的点与一个不在团内的点抵消删除,最多牺牲 ...
- Google研究员Ilya Sutskever:成功训练LDNN的13点建议
Google研究员Ilya Sutskever:成功训练LDNN的13点建议 摘要:本文由Ilya Sutskever(Google研究员.深度学习泰斗Geoffrey Hinton的学生.DNNre ...
- Unity3d Material(材质) 无缝拼接
Unity3d Material(材质) Edit by @灰太龙 在做一个项目的过程中,遇到动态切换壁纸的功能,问题点在无缝拼接! 那我们先查查Unity3d 中的材质球,里面有个参数 Tiling ...
- SVN简明使用方法 .
SVN简明使用方法 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非 ...
- GIT,VAGRANT及COREOS
搞了COREOS才高大上啊. 测试DOCKER安装. 就是WIN下面GIT显得土豪..
- sphinx插入css
使用role指令达到目的. We can put following lines at the beginning of our RST file to specify its style. .. r ...
- POJ-2774-Long Long Message(后缀数组-最长公共子串)
题意: 给定两个字符串 A 和 B,求最长公共子串. 分析: 字符串的任何一个子串都是这个字符串的某个后缀的前缀. 求 A 和 B 的最长公共子串等价于求 A 的后缀和 B 的后缀的最长公共前缀的最大 ...
- (转载)HTML--- input type=hidden
(转载)http://www.blogjava.net/lansky07/archive/2007/04/05/108740.html HTML--- input type=hidden 关于< ...
- [Audio processing] FFMPEG转音频格式和采样率
利用FFMPEG转音频格式和采样率 import os import string import subprocess as sp #Full path of ffmpeg FFMPEG_BIN = ...