如何SQL查询字段值包含于字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何SQL查询字段值包含于字符串相关的知识,希望对你有一定的参考价值。
参考技术A select * from table_a where charindex('a',id)>0 or charindex('b',id)>0table_a 表中 id字段中含有"a"或者"b"的记录.
---------------------------------------------------
CHARINDEX
返回字符串中指定表达式的起始位置。
语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
返回类型
int
注释
如果 expression1 或 expression2 之一属于 Unicode 数据类型(nvarchar 或 nchar)而另一个不属于,则将另一个转换为 Unicode 数据类型。
如果 expression1 或 expression2 之一为 NULL 值,则当数据库兼容级别为 70 或更大时,CHARINDEX 返回 NULL 值。当数据库兼容级别为 65 或更小时,CHARINDEX 仅在 expression1 和 expression2 都为 NULL 时返回 NULL 值。
如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。
sql 当中 如何查询某个字段中的值的第几个字符中含有相应的值
比如 web_vch_prnexpend 这个表中的c_ply_no这个字段 中的值的格式为201010206062011000105 如何查询第8位的值为0 第9位的值为1 ?
请各位高手帮帮忙
为什么用不了substring 啊 注 我是在Oracle中
1、首先,我们在数据库中创建一个数据表fruit,包含id,name,loc三个字段。用DESC语句查询一下数据表是否创建成功。
2、接下来就是对数据表中填充数据。用INSERT INTO语句,对数据表进行填充数据。
3、按要求输入各字段的数据,分条输入。
5、接下来就是查询数据表中的所有字段的数据值。MySQL的查询语句是用SELECT。SELECT * FROM fruit; *代表所有字段,fruit为需要查询字段所在的数据表。
参考技术A可用substring函数来查询。
比如表中有如下数据:
现在要查询第二位字符为“s”的数据,可用如下语句:
结果截图:
substring函数说明:
substring函数需要三个参数,其中第一个参数是要截取的字符串,第二个参数是要查询字符串的起始位,第三个参数为截取的字符长度。
参考技术B 给你一个最简单的方法:select c_ply_no from web_vch_prnexpend where c_ply_no like '________09%'
注意_这个的个数你就明白了 参考技术C 使用substring(字段名,起始位置,长度)
即:select * from table where substring(c_ply_no,8,1)='0' and substring(c_ply_no,9,1)='1' 参考技术D substring(c_ply_no,8,1)='0'
substring(c_ply_no,9,1)='1'本回答被提问者采纳
以上是关于如何SQL查询字段值包含于字符串的主要内容,如果未能解决你的问题,请参考以下文章