就像SQL命令中的一样,没有按预期工作?
那是我的数据库表就像SQL命令中的一样,没有按预期工作?,sql,Sql,那是我的数据库表 -------------------------------- | Product name | category | | Item 1 | 14*#*2*#*1 | | Item 2 | 1*#*5*#*14 | | Item 3 | 2*#*21*#*5 | | Item 4 | 5*#*51*#*25 | | Item 5 | 100*#*212*#*25| | Item
--------------------------------
| Product name | category |
| Item 1 | 14*#*2*#*1 |
| Item 2 | 1*#*5*#*14 |
| Item 3 | 2*#*21*#*5 |
| Item 4 | 5*#*51*#*25 |
| Item 5 | 100*#*212*#*25|
| Item 6 | 212*#*55*#*651|
---------------------------------
当我们运行我的SQL查询时
SELECT * FROM product WHERE category LIKE '%1%'
它给出以下输出:
--------------------------------
| Product name | category |
| Item 1 | 14*#*2*#*1 |
| Item 2 | 1*#*5*#*14 |
| Item 3 | 2*#*21*#*5 |
| Item 4 | 5*#*51*#*25 |
| Item 5 |100*#*212*#*25 |
| Item 6 |212*#*55*#*651 |
--------------------------------
但我希望得到以下结果:
-------------------------------
| Product name | category |
| Item 1 | 14*#*2*#*1 |
| Item 2 | 1*#*5*#*14 |
-------------------------------
您可以这样做:
SELECT *
FROM product
WHERE category LIKE '1*#*%'
or category LIKE '%*#*1*#*%'
or category LIKE '%*#*1%'
SELECT p.*
FROM product p
WHERE '*#*' || p.category || '*#*' LIKE '%*#*1*#*%';
但不要像这样存储数据,每行存储一个类别。查询将执行得更好,使一切变得更容易。您可以这样做:
SELECT *
FROM product
WHERE category LIKE '1*#*%'
or category LIKE '%*#*1*#*%'
or category LIKE '%*#*1%'
SELECT p.*
FROM product p
WHERE '*#*' || p.category || '*#*' LIKE '%*#*1*#*%';
但不要像这样存储数据,每行存储一个类别。查询将执行得更好,使一切变得更容易。这是一个可怕的数据结构,如果可以的话,您应该修复它。SQL有一种很好的存储事物列表的方法。它被称为表,而不是列 有时候,我们会被其他人的非常非常非常糟糕的决定所困扰。如果是这种情况,您可以这样使用:
SELECT *
FROM product
WHERE category LIKE '1*#*%'
or category LIKE '%*#*1*#*%'
or category LIKE '%*#*1%'
SELECT p.*
FROM product p
WHERE '*#*' || p.category || '*#*' LIKE '%*#*1*#*%';
请注意,| |是字符串连接的ANSI/ISO标准。并非所有数据库都支持这种方法;您可能有其他选择。这是一个可怕的数据结构,您应该修复它-如果可以的话。SQL有一种很好的存储事物列表的方法。它被称为表,而不是列 有时候,我们会被其他人的非常非常非常糟糕的决定所困扰。如果是这种情况,您可以这样使用:
SELECT *
FROM product
WHERE category LIKE '1*#*%'
or category LIKE '%*#*1*#*%'
or category LIKE '%*#*1%'
SELECT p.*
FROM product p
WHERE '*#*' || p.category || '*#*' LIKE '%*#*1*#*%';
请注意,| |是字符串连接的ANSI/ISO标准。并非所有数据库都支持这种方法;您可能有其他选择。如果您想获得这两条记录,可以使用此选项
如果要获取这两条记录,请选择*FROM product WHERE category,例如“%1%”限制2
从产品中选择*类别,如“%1%”限制2我们可以像这样使用“LIKE”关键字
从产品中选择*,其中category='1'或category(如'%1,%')和category(如''%1%')或category(如''%1%')或category(如''%1,%')或a.category(如'1,%')我们可以像这样使用'LIKE'关键字
选择产品中的*类别,其中类别='1'或类别'%1,%'和类别''%1%'或类别''%1','或类别''%1',%'。如果类别'1,%'不存储这样的数据,它只会给您带来很多麻烦。。。。每行一个类别就是SQL方式!你用的是什么产品?SQL只是一种查询语言,而不是特定数据库产品的名称。请为使用postgresql、oracle、sql server、db2的数据库产品添加一个数据库,不要这样存储数据,这只会给您带来很多麻烦。。。每行一个类别就是SQL方式!你用的是什么产品?SQL只是一种查询语言,而不是特定数据库产品的名称。请为使用postgresql、oracle、sql server、db2等的数据库产品添加一个不会过滤掉不需要的记录的。