急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?相关的知识,希望对你有一定的参考价值。

如图片所示的表结构,当参数是2的时候,查询出fubclass里面包含2的所有记录,即第一条和第二条记录,当参数是3的时候,3条记录都应该查询出来。
MSSQL数据库,最好不用like语句

参考技术A 不知道是什么数据库..
oracle数据库sql语句如下:
select * from 表名 where instr(fuclass,'你要传入的参数')>0;

其实这样也有问题,你这题的思路应该是先根据逗号分隔符截取字符串,然后根据你传入的参数和根据逗号截取出来的字符串进行比较,如果存在那就是你要的记录,否则就不是,但是oracle并不存在这样一种函数.比如gp中使用的split_part函数,所以比较麻烦,只能自己构建一个函数,然后调用这个函数先对字符串进行处理

出问题的原因是如果你传入一个'2',那么'22'也会算作是合格字符,而将结果返回
参考技术B where fubclass REGEXP '2'查询2的记录
where fubclass REGEXP '3' 查询3的记录
正则表达式其实也是like,不知道满足你的要求不
参考技术C 'SQL SERVER使用:
select * from 表名 as a where instr(a.fubclass,"2")>0
Oracle 使用:
select * from 表名 as a where instr(a.fubclass,'2')>0
以上作用是查询表名的fubclass字段包含2的记录集追问

instr 没有这个函数吧

追答

必须有

参考技术D select * from XX,where fubclass like '%2%'
select * from XX,where fubclass like '%3%'
第5个回答  2018-03-16 SELECT * FROM `表名` WHERE LOCATE('2',`fubclass`);

[急急急]mysql不允许插入'(单引号)??

一个asp页,目的是 向目标列插入值

目标列的类型为text

但是如果插入字符串中含有' 也就是单引号

就会报错(原来用asp插入Access数据库的时候一切正常)
ADODB.Connection.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

插入其他东西,比如asdfsdfsdaer或者双引号、问好都没问题
只是不能含有单引号

出错原因,个人感觉应该是程序误把单引号当作asp文件中的字符串结束符
如:
strSQL = "Insert Into mdb_movie(mdb_type) Values('"&request.Form("a1")&"')"
如果其中误把a1中的内容的单引号当作了命令符,整个语句就会多余一个单引号。所以肯定会出错

就是不知道要怎么修改,才能使插入单引号不报错

谢谢

参考技术A sql中插入特殊符号时前面应该有个符号(~波浪线)来标注
例如插入~本身就应该表示成~~
你看看不知道是不是有帮助!

以上是关于急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL语句中判断(字段值是不是为0)不是的话...

急急急!数据库查询问题,同表中一对多情况

求助大牛!C++编程,如何查询数据库中多条记录的多个字段值,并且返回到一个数据块中...急急急!

MYSQL语句,如果想搜索一个字段是不是包含某字符串应该怎么写

急急急!应用程序在sql server2005里执行的sql语句怎样查看!

急急急!用arcgis栅格计算器叠加栅格图层的时候,怎么用value字段以外的其它字段值进行叠加?