sql语句包含字符串


sql语句中查找某字段中含有某字符串的语句怎么写

select filename from oa_file where filename not like ‘%[!¥]%’

或者这个:

select filename from oa_file where filename not like ‘%[!?]%’

出现的问题就是问号和问好也是不一样的,比如说英文标点半角的问号是“?”,英文标点全角的问号是“?”但是中文半角问号是“?”中文全角的问号是“?”

这些都是不一样的,你搜出来的都是带有英文半角问号的文件。

扩展资料:

SQL中的字段“包含”与“包含于”字符串的写法

1、查询表中某字段值“包含”某字符串的所有记录的方法

假如表中有一个name字段,查询name包含“张三”的所有记录,可以这样写sql:

Stirng strsql=”SELECT * FROM 表名 WHERE name LIKE ‘%”+”张三”+”%'”;

2、查询某字段值“包含于”某个字符串的所有记录的方法

如果查询表中name字段包含于字符串“张三是个好学生”的所有记录,可以这样写sql:

String strsql=”SELECT * FROM 表名 WHERE INSTR(’张三是个好学生’,name)>0″;

即可查询,记录中的name字段值中包括:张、三、是、个、好、学、生、张三、。。等所有记录。

注:以上sql字符串中请将全角符号改为半角符号。

在sql语句中怎么判断一个字段是否包含在另一个字符串中

sql语句判断一个字段是否包含在另一个字符串中的方法 一、语句中使用到的函数有 1、CHARINDEX:函数返回字符或者字符串在另一个字符串中的起始位置。

语法:CHARINDEX ( expression1 , expression2 [ , start_location ] ) expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。

假如CHARINDEX没有找到要找的字符串,那么返回0 2、rtrim:函数去除字符串右边的空格符。 二、例子中的表格为:tt,结构数据如下 下面语句检索test_column字段的值包含在字符串 ‘aabb’中的记录 select * from tt where CHARINDEX(rtrim(test_column),’aabb’) > 0 ;1、rtrim(test_column),部分数据库,在对字符型字段的值做操作的时候,会在字符串的右边补足空格符。

例如:字段类型为char(8),字段的值为’aa’,那么会使用’aa ‘来操作,这样会影响语句的结果。所以使用rtrim函数去除字符串右边的空格符。

2、CHARINDEX(rtrim(test_column),’aabb’),在字符串’aabb’中查找是否包含rtrim(test_column)返回的字符串,找到返回字符串起始位置,反之返回0.所以包含则返回大于0的值。 3、语句执行结果: 。

sql 怎么判断是否含有字符串

不知道您说的SQL是SQL语句还是 SQL数据库,

如果是SQL语句就要分下数据库了,

1.我这边机器就安装了mysql,查找包含某个字符串的语句是

SELECT * FROM ‘表名’ WHERE LOCATE(’包含的字符串’,‘字段’) > 0

LOCATE返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0.

2.如果是SQL数据库

SELECT * FROM ‘表名’ WHERE charindex(’包含的字符串’,‘字段’) > 0

charindex 类似于 LOCATE 功能

sql语句创建规则中必须包含某个字符

使用ESCAPE定义转义符

在使用LIKE关键字进行模糊查询时,“%”、“_”和“[]”单独出现时,会被认为是通配符。为了在字符数据类型的列中查询是否存在百分号(%)、下划线(_)或者方括号([])字符,就需要有一种方法告诉DBMS,将LIKE判式中的这些字符看作是实际值,而不是通配符。关键字ESCAPE允许确定一个转义字符,告诉DBMS紧跟在转义字符之后的字符看作是实际值。如下面的表达式:

LIKE ‘%M%’ ESCAPE ‘M’

使用ESCAPE关键字定义了转义字符“M”,告诉DBMS将搜索字符串“%M%”中的第二个百分符(%)作为实际值,而不是通配符。当然,第一个百分符(%)仍然被看作是通配符,因此满足该查询条件的字符串为所有以%结尾的字符串。

类似地,下面的表达式:

LIKE ‘AB&_%’ ESCAPE ‘&’

所以 你的 like 自带ESCAPE ”