charindex

How to use Charindex for one or the other character

為{幸葍}努か 提交于 2021-02-10 20:39:52
问题 I have a string with a bunch of numbers but it contains one letter somewhere in the center of the string. This letter can either be 'A' or 'B'. I am trying to find out the position of this letter with the Charindex() function. However it doesn't work when you have two search parameters: select charindex('[A,B]','190118A3700000') I tried it out with a range and wildcards but it did not work. So what I want are these two separate queries combined in one: select charindex('A','190118A3700000')

SQL中Charindex和Oracle中对应的函数Instr

不想你离开。 提交于 2020-03-22 22:39:05
转:http://blog.csdn.net/zhuyu19911016520/article/details/8568640 sql :charindex('字符串',字段)>0     charindex('administrator',MUserID)>0 oracle:instr(字段,'字符串',1,1) >0    instr(MUserID,'administrator',1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识。 Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符。 其语法为: Instr(string, substring, position, occurrence) 其中 string:代表源字符串; substring:代表想聪源字符串中查找的子串; position:代表查找的开始位置,该参数可选的,默认为 1; occurrence:代表想从源字符中查找出第几次出现的substring,该参数也是可选的,默认为1; 如果 position 的值为负数,那么代表从右往左进行查找。 返回值为:查找到的字符串的位置。 对于 Instr 函数,我们经常这样使用:从一个字符串中查找指定子串的位置。 例如: SELECT Instr('Hello Word', 'o',

MsSql2005 CharIndex的用法

大兔子大兔子 提交于 2020-02-20 04:43:29
CHARINDEX 函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下: CHARINDEX ( expression1 , expression2 [ , start_location ] ) Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果: CHARINDEX('Zhang', 'Devil_Zhang') 这个函数命令将返回在“Devil_Zhangr”中“Zhang”的起始位置,在这个例子中,CHARINDEX函数将返回“Z”在“Devil_Zhang”中的位置7。   接下来,我们看这个CHARINDEX命令: CHARINDEX('zhangsns', 'Devil_Zhang')   在这个例子中,CHARINDEX返回0,因为字符串“zhangsns” 不能在“Devil_Zhang”中被找到。   此时,我们再尝试一下CharIndex中的第三个参数【start_location】,如下:   CHARINDEX(

MSSql 中Charindex ,Substring的使用...

妖精的绣舞 提交于 2020-02-20 04:40:59
CHARINDEX 返回字符串中指定表达式的起始位置。 语法 CHARINDEX ( expression1 , expression2 [ , start_location ] ) 如果在 expression2 内没有找到 expression1 ,则 CHARINDEX 返回 0 。 SUBSTRING Syntax SUBSTRING ( expression , start , length ) 截取字符串 expression ,从 start 个字符开始,到 Length 结束 如: select charindex('.Net', 'VB.Net 2005'),charindex('Java', 'Microsoft Windows') --Result-- ----------- ----------- 3 0 需求: 将字段中的 .Net 后面内容,连同 .Net 一同删除。 Table 的数据如下: Col_1 -------------------- C# VB.Net 2005 VB6.0 VS.Net 2008 Sql 可以这样写: Declare @T_1 Table(Col_1 varchar(20) ) Insert into @T_1 Select 'VB.Net 2005' union Select'VB6.0' union Select

sql中 substring和charindex 的用法

不羁岁月 提交于 2020-02-20 04:39:36
-- 第一个参数是要截取的字符串,第二个参数是从第几个字符开始截取,第三个参数是截取的长度 --例如:select SUBSTRING('12345678',1,4) 返回 1234 -- select SUBSTRING('12345678',0,4) 则返回 123 select SUBSTRING('12345678',1,4) 语法 CHARINDEX ( expression1 , expression2 , [ start_location ] ) 参数 expression1 一个 表达式 ,其中包含要寻找的 字符 的次序。 expression1 是一个短 字符 数据类型 分类的 表达式 。 expression2 一个 表达式 ,通常是一个用于搜索指定序列的列。 expression2 属于字符串数据类型分类。 start_location 在 expression2 中搜索 expression1 时的起始 字符 位置。如果没有给定 start_location ,而是一个负数或零,则将从 expression2 的起始位置开始搜索。 select charindex('_','1767252_直接成功啦',0) --//返回 8 来源: https://www.cnblogs.com/yangjinwang/p/4201121.html

如何分割字符串以便可以访问项目x?

ぐ巨炮叔叔 提交于 2020-01-20 12:39:39
使用SQL Server,如何分割字符串以便可以访问项x? 取一个字符串“ Hello John Smith”。 我如何按空格分割字符串并访问索引1的项目,该项目应返回“ John”? #1楼 我认为你们正在使它变得过于复杂。 只需创建CLR UDF并完成它即可。 using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; using System.Collections.Generic; public partial class UserDefinedFunctions { [SqlFunction] public static SqlString SearchString(string Search) { List<string> SearchWords = new List<string>(); foreach (string s in Search. Split (new char[] { ' ' })) { if (!s.ToLower().Equals("or") && !s.ToLower().Equals("and")) { SearchWords.Add(s); } }

Sql中CHARINDEX用法

不打扰是莪最后的温柔 提交于 2020-01-13 22:11:11
CHARINDEX作用   写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了。 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。 基本语法如下:    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。   expressionToSearch :用于被查找的字符串。 start_location:开始查找的位置,为空时默认从第一位开始查找。 CHAEINDEX示例   1.简单用法     select charindex('test','this Test is Test')   查询结果:     2.增加开始位置   select charindex('test','this Test is Test',7)   查询结果:   3.大小写敏感   select charindex('test','this

Sql中CHARINDEX用法

蹲街弑〆低调 提交于 2020-01-13 16:42:55
CHARINDEX作用   写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了。 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。 基本语法如下:    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。   expressionToSearch :用于被查找的字符串。 start_location:开始查找的位置,为空时默认从第一位开始查找。 CHAEINDEX示例   1.简单用法     select charindex('test','this Test is Test')   查询结果:     2.增加开始位置   select charindex('test','this Test is Test',7)   查询结果:   3.大小写敏感   select charindex('test','this

Sql中CHARINDEX用法

随声附和 提交于 2020-01-13 16:41:49
CHARINDEX作用   写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了。 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。 基本语法如下:    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。   expressionToSearch :用于被查找的字符串。 start_location:开始查找的位置,为空时默认从第一位开始查找。 CHAEINDEX示例   1.简单用法     select charindex('test','this Test is Test')   查询结果:     2.增加开始位置   select charindex('test','this Test is Test', 7 )   查询结果:   3.大小写敏感   select charindex(' test ',

Sql Server函数全解(一)字符串函数

二次信任 提交于 2020-01-11 15:06:57
字符串函数用于对字符和二进制字符进行各种操作 1.ASCII()函数  ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值。参数character_expression必须是一个char或varchar类型的字符串表达式。   eg: select ASCII('s'),ASCII('sql'),ASCII('1'); 执行结果如图: 字符's'的ASCII值为115,所以第一行和第二行返回结果相同,对于第三条语句中的纯数字的字符串,可以不用单引号括起来。 2.CHAR()函数  CHAR(integer_expression)函数将整数类型的ASCII值转换为对应的字符,integer_expression是一个介于0~255之间的整数。如果该整数表达式不在此范围内,将返回null值。 eg: select CHAR(115),CHAR(49); 可以看到,这里返回的值与ASCII函数的返回值正好相反. 3.LEFT()函数   LEFT(character_expression,integer_expression)函数返回字符串左边开始指定个数的字符串、字符或者二进制数据表达式。character_expression是字符串表达式,可以是常量,变量或字段。integer_expression为整数,指定character