‘壹’ sql中如何判断一个字符是否包含在表字段中,而不是包含在表记录中
Select
name
from
syscolumns
Where
ID=OBJECT_ID('表名')
这个可以查出你所查询的表的所有字段名字,如你所说你传入个3个话可以写
Select
name
from
syscolumns
Where
ID=OBJECT_ID('表名')
and
name
like
'%3%'
这样返回就是这个表的字段名包含3的字段了,在程序里你自己把这些个字段名取出来,拼成
字段1,字段2的格式,再放到你的查询语句去就是了~
‘贰’ sql语句中查找某字段中含有某字符串的语句怎么写
select filename from oa_file where filename not like '%[!-¥]%'
或者这个:
select filename from oa_file where filename not like '%[!-?]%'
出现的问题就是问号和问好也是不一样的,比如说英文标点半角的问号是“?”,英文标点全角的问号是“?”但是中文半角问号是“?”中文全角的问号是“?”
这些都是不一样的,你搜出来的都是带有英文半角问号的文件。
(2)sql判断字符串含有扩展阅读:
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中如何判断字符串中含有特殊字符
1、打开终端窗口,输入mysql -u-root -p,进入mysql。
‘肆’ sql中比较一个字符串中是否含有另一个字符串中的一个字符
sql中比较一个字符串中是否含有另一个字符或字符串可用charindex函数。
如:
selectcharindex('爱','我爱祖国')
结果为:
返回值为0,则代表“a”不存在于“我爱祖国”字符串中。
语法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
‘伍’ sql判断字符串中是否包含某个字符串
select * from 表名 where 字段 like %指定字符串%
‘陆’ sql 怎么判断一个字符串包含在另一个字符串
三、取子串函数
1、left()
LEFT(<character_expression>,<integer_expression>)
返回character_expression左起integer_expression个字符。
2、RIGHT()
RIGHT(<character_expression>,<integer_expression>)
返回character_expression右起integer_expression个字符。
3、SUBSTRING()
SUBSTRING(<expression>,<starting_position>,length)
返回从字符串左边第starting_position个字符起length个字符的部分。
四、字符串比较函数
1、CHARINDEX()----这个应该是你想要的函数!!
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX(<’substring_expression’>,<expression>)
其中substring_expression是所要查找的字符表达式,expression可为字符串也可为列名表达式。如果没有发现子串,则返回0值。
此函数不能用于TEXT和IMAGE数据类型。
2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX(<’%substring_expression%’>,<column_name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、VARCHAR和TEXT数据类型。
‘柒’ sql 判断字符串中是否含有数字和字母
判断是否含有字母
select
patindex('%[a-za-z]%',
‘ads23432')=0
(如果存在字母,结果>1)
判断是否含有数字
patindex('%[0-9]%',
‘234sdf')=0
(如果存在数字,结果>1)
‘捌’ 在SQLSERVER中如何检测一个字符串中是否包含另一个字符串
--当charindex返回值大于0时则包含为0不包含
selectCHARINDEX('456','123456')
‘玖’ sql如何在字符串里判断是否有数字或者字母
判断是否含有字母
select PATINDEX('%[A-Za-z]%', ‘ads23432')=0
(如果存在字母,结果>1)
判断是否含有数字
PATINDEX('%[0-9]%', ‘234sdf')=0
(如果存在数字,结果>1)
‘拾’ 在SQLSERVER中如何检测一个字符串中是否包含另一个字符
可以通过CHARINDEX()函数判断另一个字符出现的位置
还可以通过REPLACE()函数替换后,再用LEN()函数比较替换前和替换后的字符串长度。