当前位置:首页 » 编程语言 » sql查询字段包含字符串
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询字段包含字符串

发布时间: 2023-02-19 10:24:47

㈠ 如何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%'。