sql 当中 如何查询某个字段中的值的第几个字符中含有相应的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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”的数据,可用如下语句:

select * from test where substring(STR,2,1)='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查询中,如何判断一个字符串字段的内容的长度

例如,表Table中有一个字段,名称ItemName,类型为字符串。现在我要把ItemName长度小于5的行列出来,并且只能用
Select * From Table Where .....
这样的格式,该如何写?
问题的关键在于,SQL语句中是否有获取字符串长度的函数?

实现的方法和详细的操作步骤如下:

1、首先,打开sql查询器,并连接相应的数据库表,例如store表,如下图所示。

2、其次,完成上述步骤后,单击工具栏的“查询”选项,然后输入如下代码,如下图所示。

3、最后,完成上述步骤后,单击“运行”选项来查询所需结果,如下图所示。这样,以上的问题就解决了。

参考技术A

len()函数可以统计出字段字符长度

select len(字段名) as 变量名 from 表名

输出上面AS的变量名:

等出的结果是

字段的字符数量,

现在环境没办法做测试,有这个函数应该是有办法实现你想要的,可以试试下面:

select 字段名 from 表名 where len(字段名)>5

试试

参考技术B

请采用以下 sql脚本信息 

select * from Table Where len(itemName) <5

请采纳!

参考技术C 楼上说的对
但最好对字符串预处理一下
加上trim去掉空格
select * from Table where len(trim(ItemName))<5
oracle底下用length表示字符长度,length('我')为1,
lengthb表示字节长度,lengthb('我')为2,看情况使用
参考技术D 可以使用SQL Server系统函数Len();
比如查询某个表某个字段内容长度小于5的行:
SELECT * FROM Table WHERE LEN(ColumnName)<5

以上是关于sql 当中 如何查询某个字段中的值的第几个字符中含有相应的值的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询中,如何判断一个字符串字段的内容的长度

sql 提取第一个字符

sql语句中要查询一个字符串字段不为空怎么写

kibana查询搜索引擎字段为空字符串

SQL语句替换某表某字段中第几字符

sql中where截取字符串字符