㈠ 如何sql查询字段值包含于字符串
select * from table_a where charindex('a',id)>0 or charindex('b',id)>0
table_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语句,判断数据库中某字段的内容,包含于某字符串
select*from表名where字段名like'%关键字%'
上述语句是在“表名”中的“字段名”列搜索包含“关键字”的语句
㈢ 现在用sql语句查出来字段里包含某个字符串的所有记录怎么查
一般用substring函数截取出特定字段,如
--用户姓名第二个字是'大'字的
select * from Users where SUBSTRING(UserName,2,1)='大'
第二种方法就是直接like模糊查询,看具体情况使用
select * from Users where UserName like '%大%'
㈣ sql语句中查找某字段中含有某字符串的语句怎么写
select filename from oa_file where filename not like '%[!-¥]%'
或者这个:
select filename from oa_file where filename not like '%[!-?]%'
出现的问题就是问号和问好也是不一样的,比如说英文标点半角的问号是“?”,英文标点全角的问号是“?”但是中文半角问号是“?”中文全角的问号是“?”
这些都是不一样的,你搜出来的都是带有英文半角问号的文件。
(4)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语句中怎么判断一个字段是否包含在另一个字符串中
思路是,读取B.name字符串后进行字符串的的分割 name.,然后最后执行模糊查询A表,可以这样
WHERE (A.nameLIKE '%查%') AND (A.nameLIKE '%体%')
只能说完全用sql语句实现,有点难吧!
string name = "查体";
char[] NameChar = name.ToArray();
string SqlStr = "select * from A ";
for (int i = 0; i < NameChar.Count(); i++)
{
if (i == 0)
{
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
}
else
{
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
}
}
可以告诉你,没有关联查一个表还行,两个表都来不太可能。
㈥ 请教SQL语句的字符串包含查询
其实你说的这种被包含的关系在实际应用中没有必要,因为
实际
使用
中都
是某一字段
LIKE
‘字符串公式’,无所谓包含还是被包含,LIKE
表达式
仅仅是
=
等号的扩展。
㈦ MySQL 查询某个字段包含一个字符串的SQL语句
DROP TABLE IF EXISTS `test_user`;
CREATE TABLE `test_user` (
`id` int(11) NOT NULL,
`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`hobby` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `test_user` VALUES (1, 'beibei', 'feifei,guanguan,xiangxiang');
INSERT INTO `test_user`(`id`, `name`, `hobby`) VALUES (2, 'feifei', 'call');
表结构如下:(注意两个字符串之间的分割是英文逗号)
参数一:表示要查询的字符串。
参数二:表示在表中的哪个字段中查询,填字段名。
例如:FIND_IN_SET("feifei",hobby)
执行结果如下:
执行语句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%';
执行结果如下:
㈧ sql怎么查询字段中包含一个字符串,不要用like
可以使用:SELECT 字段2 FROM 数据表名 WHERE 字段2 = '3',如果是要包含字符3的话,使用:SELECT字段2FROM数据表名WHERE字段2LIKE '%3%'。