charindex

【转】【数据库SQL】SQL查询和替换含有回车,空格,TAB,等

大城市里の小女人 提交于 2019-11-29 18:20:26
原文链接:https://blog.csdn.net/xiongyongting/article/details/53993519 ---如下是查询语句 --查询名称有退格键 select * from t_bd_item_info where charindex(char(8),item_name) > 0 go --查询名称有制表符tab select * from t_bd_item_info where charindex(char(9),item_name) > 0 go --查询名称有换行 select * from t_bd_item_info where charindex(char(10),item_name) > 0 go --查询名称有回车 select * from t_bd_item_info where charindex(char(13),item_name) > 0 go --查询名称的空格(前空格、后空格、所有空格) select * from t_bd_item_info where isnull(charindex(' ',item_name),0) > 0 go --查询名称的单引号 select * from t_bd_item_info where charindex(char(39),item_name) > 0 go -

SQL 中的LastIndexOf,截取最后一次出现字符后面的字符

放肆的年华 提交于 2019-11-27 12:24:38
SQL如何取出一个字符串中最后一个特殊字符右边的字符,例如:10*20*300,怎样得到300? 使用reverse配合charindex来实现。 reverse是把字符串倒置,然后通过charindex来获取倒置之后第一个*的位置,然后使用substring函数进行字符串截取,截取后再使用reverse倒置回来即可。 以下为例子 declare @str varchar(20) set @str = '10*20*300' select reverse(substring(reverse(@str),1,charindex('*',reverse(@str)) - 1)) 结果是300 以上是SQLSERVER的语法。 ORACLE数据库也有REVERSE函数,不过SUBSTRING要改成SUBSTR,CHARINDEX函数要改成INSTR函数 SELECT reverse(substr(reverse('10*20*300'),1,INSTR(reverse('10*20*300'),'*') - 1)) FROM DUAL; 结果是300 来源: https://www.cnblogs.com/lydg/p/11362953.html

模糊匹配

家住魔仙堡 提交于 2019-11-26 22:24:51
use mydatabaseselect * from table1 where username like'%c%"下面是完成上面功能的另一种写法:use mydatabaseselect * from table1 where charindex('c',username)>0这种方法理论上比上一种方法多了一个判断语句,即>0, 但这个判断过程是最快的, 我想信80%以上的运算都是花在查找字符串及其它的运算上, 所以运用charindex函数也没什么大不了. 用这种方法也有好处, 那就是对%,|等在不能直接用like查找到的字符中可以直接在这charindex中运用, 如下:use mydatabaseselect * from table1 where charindex('%',username)>0也可以写成:use mydatabaseselect * from table1 where charindex(char(37),username)>0ASCII的字符即为% 摘自:http://www.dns2003.com/help/hlp_dtl.asp?nid=10000172 来源: http://www.cnblogs.com/zerocc/archive/2011/12/28/2305054.html

charindex小结及实例

这一生的挚爱 提交于 2019-11-26 17:33:31
前段时间做的一个项目中使用到了 sql 查询语句中的 charindex 函数的用法,特此使用小实例进行一下巩固,帮助自己牢记其用法。 charindex: 平时写SQL语句中偶尔会碰到需要判断某个字符串中是否包含一个特定的字符串的情况,但是SQL Server 中似乎并没有像 C#提供的 Contains 函数,或者js提供的 indexOf 函数等,不过SQL Server 中有为我们提供了一个 charindex 函数,字面上看就可大概猜出是找到字符串(char)的位置(index),若是能够知道字符串所在的位置,自然也就能够判断出字符串中是否包含该特定字符串喽。 通过 charindex 如果能够找到对应的特定字符串,则返回该字符串位置,否则返回0。 基本语法如下: CHARINDEX ( 字符串A, 字符串B [ , 位置 ] ) 字符串A:目标字符串,就是特定的想要查找的字符串,最大长度为8000 。   字符串B:被查找的字符串。 位置:在字符串A中开始查找的位置,为空时默认从第一位开始查找。 接下来是我个人写的一个小实例,如有错误或不当的地方请多多指教: 创建两个表 ① 用户表 id 用户名 101 莱昂 102 苏珊 103 萨沙 104 提利昂 105 瑟斯 106 卡尔 107 斯达克 108 艾丽娅 109 艾迪 ② 美剧表 id 剧名 创建人id

SQL Server的patindex和charindex的用法

大兔子大兔子 提交于 2019-11-26 17:31:06
charindex函数返回字符或字符串在另一个字符串中的起始位置。charindex函数调用方法如下: charindex ( expression1 , expression2 [ , start_location ] ) expression1是要到expression2中寻找的字符中,start_location是charindex函数开始在expression2中找expression1的位置。 charindex函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如charindex没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果: charindex(sql, microsoft sql server) 这个函数命令将返回在“microsoft sql server”中“sql”的起始位置,在这个例子中,charindex函数将返回“s”在“microsoft sql server”中的位置11。例如: select charindex('a',username) fromz_user patindex ( %pattern% , expression ) pattern是您要搜索的字符串,expression是被搜索的字符串。一般情况下expression是个表中的一个字段,pattern的前后需要用“%”标记

SQL SERVER CHARINDEX函数

那年仲夏 提交于 2019-11-26 17:30:24
CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。 如果被搜索的字符中包含有要搜索的字符,那么这个函数返回一个非零的整数 ,这个整数是要搜索的字符在被搜索的字符中的开始位数。即CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。 CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start_location ] ) Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 例子一: select CHARINDEX('Q1L', 'http://blog.csdn.net/jiankun') 结果如下: 例子二: select CHARINDEX('blog', 'http://blog.csdn.net/jiankun') 结果如下: 来源: CSDN 作者: 衣舞晨风 链接: https://blog.csdn.net/xunzaosiyecao/article/details/25866271

Sql Server (Charindex)

北慕城南 提交于 2019-11-26 17:30:04
Sql中CHARINDEX用法 CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了。通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。 基本语法如下: CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) expressionToFind : 目标字符串,就是想要找到的字符串,最大长度为8000 。 expressionToSearch : 用于被查找的字符串。 start_location: 开始查找的位置,为空时默认从第一位开始查找。 示例 创建一张表 create table Student (id int,[Name] nvarchar(50),[age] nvarchar(50),[sex] nvarchar(50)) 插入数据 truncate table Student insert into Student values (1,‘张三’,‘18’,‘男’) insert into

SQL Server CHARINDEX和PATINDEX详解

。_饼干妹妹 提交于 2019-11-26 17:29:48
SQL Server CHARINDEX和PATINDEX详解 假如你写过很多程序,你可能偶尔会碰到要确定字符或字符窜串否包含在一段文字中,在这篇文章中,我将讨论使用CHARINDEX和PATINDEX函数来搜索文字列和字符串。我将告诉你这两个函数是如何运转的,解释他们的区别。同时提供一些例子,通过这些例子,你可以可以考虑使用这两个函数来解决很多不同的字符搜索的问题。 CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串。如果被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的开始位数。PATINDEX函数支持使用通配符来进行搜索,然而CHARINDEX不支持通佩符。接下来,我们逐个分析这两个函数。 如何使用CHARINDEX函数 CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start_location ] ) Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 CHARINDEX函数返回一个整数

Sql Server中的CharIndex函数

一个人想着一个人 提交于 2019-11-26 17:29:34
CHARINDEX 返回字符串中指定表达式的起始位置: 语法 CharIndex( expression1 , expression2 [ , start_location ]) 参数 expression1 包含要查找的字符序列的表达式。expression1 参数是 ntext 类型或可隐式转换为 nvarchar数据类型的表达式。 expression2 通常用于搜索指定序列的列的表达式。expression2 参数是 ntext 类型或可隐式转换为 nvarchar数据类型的表达式。 start_location 在 expression2 中搜索 expression1 的起始字符位置。如果没有给定start_location、或者给定值为负数或零,那么搜索将会开始于 expression2 的起始位置。start_location参数可以是 tinyint、smallint、int 或 bigint。 来源: CSDN 作者: 深思千年 链接: https://blog.csdn.net/ylchou/article/details/7282770

SqlServer中SubString与CharIndex函数的使用 SubString和CharIndex结合使用

笑着哭i 提交于 2019-11-26 17:28:56
一、CharIndex 1:CharIndex语法: CharIndex(expression1,expression2[,start_location]) 2:参数 expression1 一个表达式,其中包含要查找的字符的序列。expression1是一个字符串数据类别的表达式。 expression2 一个表达式,通常是一个为指定序列搜索的列。expression2属于字符串数据类别. start_location 开始在expression2中搜索expression1时的字符位置。如果start_location未被指定、是一个负数或零,则将从espression2的开头开始搜索。start_location可以是bigint类型。 3:返回类型 如果expression2的数据类型为varchar(max),nvarchar(max)或varbinnary(max),则为bigint,否则为int。 4:备注 如果在expression2内找不到expression1,则charindex返回0. charindex将根据输入的排序规则执行比较操作。若要以指定排序规则进行比较,则可以使用collate将显式排序规则应用于输入值。 返回的开始位置从1开始,而非从0开始。 5:例子 select charindex('A','BADF',1) : 2 select