- 浏览: 65104 次
- 性别:
- 来自: 珠海
文章分类
最新评论
语法格式: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]里,所以就找到第一次这位。
发表评论
-
数据库创建链接远程服务器
2014-05-09 11:59 723--PKselect * from sys.key_con ... -
SQL作业的操作大全
2013-03-21 16:00 903SQL作业的操作全 --定义创建作业DECLARE @ ... -
Oracle创建删除用户、角色、表空间、导入导出..命令总结
2012-12-11 14:18 926//创建临时表空间 create temporary ta ... -
sql 查询出每个科目成绩第一的学生信息
2012-07-10 09:10 5561一次性查询出每个科目的成绩第一的学生,在SQL SERVE ... -
用SQL语句添加删除修改字段等操作
2012-05-28 14:10 2156用SQL语句添加删除修改字段1.增加字段 alter ... -
查询DB2多行数据一行显示(精简sql)
2012-02-21 09:45 1800select o1.ORGTYPE,varchar(repla ... -
SQL+Assistant+v4.8&2Bkey
2011-10-25 09:09 819SQL+Assistant+v4.8&2Bkey -
ROW_NUMBER、RANK、DENSE_RANK的用法
2011-10-19 08:39 860ROW_NUMBER、RANK、DENSE_RANK的用法 ... -
用 SQL 语句查看 SQL Server 端口号
2011-09-01 11:00 4429用 SQL 语句查看 SQL Server 2005 端口号 ... -
db2中关于递归(with)的使用
2011-05-24 19:15 6342db2中关于递归(with)的使用因为有人问及,这边简单的再探 ... -
DB2常用函数与Oracle比较
2011-05-19 09:47 18431、类型转化函数:decimal, double, Inte ... -
oracle 的wmsys.wm_concat函数用法
2011-05-17 14:25 1553无意中碰到wmsys.wm_concat这个函数很好很强大. ... -
Oracle相关的1000个命令
2011-02-23 09:22 1707Oracle相关的1000个命令(实用) 比较适合初学者,所 ... -
Sql Server 常用日期格式
2011-02-19 10:31 823Sql Server 常用日期格式 SQL Server中文 ... -
SQL语句优化34条(常拿来用用)
2011-02-18 08:32 7291)选择最有效率的表名顺序(只在基于规则的优化器中有效): ... -
MS-SQL Server 多行转为一列的合并
2010-12-21 08:40 4241描述:将如下形式的数据按id字段合并value字段。 id ... -
列出一个表的字段的全部信息
2010-12-17 11:00 874select rtrim(b.name) ascolname ... -
汇总数据到一行
2010-11-15 21:17 827--sql server 2005 --执行 select ... -
SQL的行列转化问题
2010-10-21 16:04 1045SQL Server中行列转换 Pivot UnPivot ... -
Oracle 任意两个时间之间的日期 时间列表
2010-10-12 16:18 997如何查找2个时间之间的日期列表? 如查找 2004-01-0 ...
相关推荐
接下来,我们将详细讨论PATINDEX函数的使用方法及其各种情况下的应用。 1. **基本语法**: `PATINDEX ( '%pattern%' , expression )` 这里的`pattern`是你想要查找的字符串模式,`expression`则是包含该模式的...
CHARINDEX 和 PATINDEX 是两个非常实用且强大的函数,用于搜索字符串中的指定模式或子串,并返回该模式或子串在目标字符串中的位置。下面我们将详细探讨这两个函数的用法、特点以及它们之间的区别。 #### 一、...
本主题将深入探讨如何创建一个使用正则表达式的自定义函数,以便在SQL查询中进行复杂的内容替换。这对于处理包含HTML代码或其他复杂格式的数据尤其有用。 首先,让我们了解一下SQL Server中的标准字符串函数,如`...
2. PATINDEX():返回字符串中某个指定的子串出现的开始位置,PATINDEX 函数的子串中可以使用通配符。 五、字符串操作函数 字符串操作函数是用于对字符串进行操作的函数。常用的字符串操作函数有: 1. QUOTENAME()...
SQL Server函数是数据库管理系统中非常重要的组成部分,它们用于处理各种数据类型,特别是字符串。在SQL Server中,函数的使用能够帮助我们执行...掌握这些函数的用法,能够显著提升你在SQL Server中的数据处理能力。
- `WHILE PATINDEX('%[^0-9]%', @S) > 0`: 使用`PATINDEX`函数查找字符串中第一个非数字的位置。如果找到了非数字,则执行循环内的操作。 - `SET @S = STUFF(@S, PATINDEX('%[^0-9]%', @S), 1, '')`: 使用`STUFF`...
以上列举了SQL Server 2000中常用的字符串函数及其用法。通过这些函数,可以方便地完成对字符串的各种操作,如格式化、提取、替换等。在实际开发过程中,熟练掌握这些函数的应用是非常重要的。此外,还应注意不同...
总结,"sqlserver2000函数大全"涵盖了SQL Server 2000中大量的函数用法,对数据库管理员、开发人员和学习者来说是一份宝贵的参考资料。通过深入学习和实践这些函数,可以有效提升SQL查询的效率和灵活性,更好地管理...
本文将详细介绍几种常用的SQL截取字符串函数及其应用场景,包括`LEFT`、`RIGHT`、`SUBSTRING`以及一些高级用法如使用`CHARINDEX`、`PATINDEX`、`REPLACE`和`STUFF`等函数来实现更复杂的字符串处理。 #### 一、基本...
根据提供的文件信息,我们可以深入探讨其中提及的各个SQL函数类别及其具体函数的使用方法与应用场景。下面将逐一解析这些函数的细节。 ### 字符转换函数 #### 1. ASCII() - **功能**: 返回字符表达式最左端字符的...
- **模式匹配**: Oracle中的`INSTR`函数可以用来查找模式的位置,而在SQL Server中则使用`PATINDEX`函数。 - **字符串复制**: `RPAD`函数在Oracle中用于在字符串右侧添加指定数量的字符,在SQL Server中没有直接对应...
### SQL 2005 函数大全及示例解析 SQL Server 2005作为微软推出的数据库管理系统,提供了丰富的内置函数,极大...通过掌握这些函数的使用方法,数据库开发者能够更高效地管理和查询数据,提升应用程序的性能和可靠性。
### SQL语句常用函数详解 #### 一、字符转换函数 ...以上介绍的各种SQL函数在实际应用中非常常见,掌握这些函数的使用方法能够极大地提高查询效率和灵活性。通过灵活运用这些函数,可以轻松实现复杂的字符串处理任务。
- **SQLServer**: 使用`PATINDEX()`函数。 - 示例: `SELECT PATINDEX('%d%q%', 'sdsq') AS Value` - **Oracle**: 使用`REGEXP_INSTR()`函数。 - 示例: `SELECT REGEXP_INSTR('sdsq', '%d%q%', 1, 1, 0, 0) AS ...
对于SQL Server 2000的使用者来说,掌握这些函数的用法至关重要,能够提高工作效率,优化数据库操作。通过学习这个压缩包中的内容,你可以深入了解每个函数的工作原理、语法结构以及使用示例,从而更好地驾驭SQL ...
本文将介绍如何使用SQL Server编写函数来实现这些功能,并提供示例代码帮助理解。 #### 一、提取数字的方法 在SQL Server中提取字符串中的数字可以通过创建自定义函数实现。这里我们将通过一个具体的例子来展示这...
这些函数可能需要使用字符串操作函数如`SUBSTRING`,`PATINDEX`,`REPLACE`等,以及循环或递归结构来实现。 4. **实际应用** 这些转换在多种场景下都很有用,例如在处理二进制数据、编码解码、数据库存储和检索,...
在SQL Server 2008 R2中,虽然标准版并不直接支持正则表达式,但可以通过一些扩展方法和第三方工具来实现正则表达式的功能。这篇文章将详细讲解如何在SQL Server 2008 R2中实现正则表达式处理。 首先,SQL Server ...