Sql查询字段内的单词
我有一个名为“意愿”的数据库字段,其中填充了如下文本:Sql查询字段内的单词,sql,Sql,我有一个名为“意愿”的数据库字段,其中填充了如下文本: shopping,pool,pc,games shopping,pool,pc,games swimming, pool, pc, games 我需要sql查询,查询文件中有“购物”吗 TY您可以为此目的使用运算符。比如说, SELECT * FROM myTable WHERE willingness LIKE '%shopping%' 但是,如果该字段只是存储一个以逗号分隔的标记列表,那么您可能需要更改模式—目前,该模式尚未规范化。
shopping,pool,pc,games
shopping,pool,pc,games
swimming, pool, pc, games
我需要sql查询,查询文件中有“购物”吗
TY您可以为此目的使用运算符。比如说,
SELECT * FROM myTable
WHERE willingness LIKE '%shopping%'
但是,如果该字段只是存储一个以逗号分隔的标记列表,那么您可能需要更改模式—目前,该模式尚未规范化。例如,该表可能有带有适当外键的UserId
和WillingnessTagId
列。您可以为此使用运算符。比如说,
SELECT * FROM myTable
WHERE willingness LIKE '%shopping%'
但是,如果该字段只是存储一个以逗号分隔的标记列表,那么您可能需要更改模式—目前,该模式尚未规范化。例如,该表可能有
UserId
和WillingnessTagId
列以及相应的外键。从表1中选择*
SELECT *
FROM table
WHERE willingness LIKE '%shopping%'
在一个规范化的数据库中,您将有一个意愿表,每个表都有一个ID(比如说1个用于购物)和一个用于此查找表的ID。这样,查询将更加高效:
SELECT *
FROM table
WHERE willingness_id = 1
非常低效,这确实应该是,但应该有效:
SELECT *
FROM table
WHERE willingness LIKE '%shopping%'
在一个规范化的数据库中,您将有一个意愿表,每个表都有一个ID(比如说1个用于购物)和一个用于此查找表的ID。这样,查询将更加高效:
SELECT *
FROM table
WHERE willingness_id = 1
这就是我们正常化的原因
AND (willingness = 'shopping'
OR willingness like 'shopping,%'
OR willingness like '%,shopping'
OR willingness like '%,shopping,%'
OR willingness like '%, shopping'
OR willingness like '%, shopping,%')
这就是我们正常化的原因
AND (willingness = 'shopping'
OR willingness like 'shopping,%'
OR willingness like '%,shopping'
OR willingness like '%,shopping,%'
OR willingness like '%, shopping'
OR willingness like '%, shopping,%')
这就足够了:
select *
from table
where willingness like '%shopping%'
这将在sql server中工作,这应该足够了:
select *
from table
where willingness like '%shopping%'
这将在sql server中工作这将完成以下工作:
select willingness from table where willingness LIKE '%shopping%'
我建议您阅读MYSQL语句中的字符串比较:
我假设您使用的是MySQL,如果不是,请告诉我们您使用的是什么。这应该可以做到:
select willingness from table where willingness LIKE '%shopping%'
我建议您阅读MYSQL语句中的字符串比较:
我假设您使用的是MySQL,如果不是,请告诉我们您使用的是什么。您不应该像这样将数据存储在数据库中。让我解释一下: 您可以使用人们在这里提到的解决方案(
如%shopping%
等),但这样做确实是自找麻烦
阅读关于规范化的文章。您可以使用一个意愿
表,而不是一个意愿
字段,该表的外观如下所示:
person_id willing
1 pool
2 shopping
2 pool
3 swimming
3 games
等等
然后,您只需要一个查询,如
从where willing=“pool”
中选择不同的人员id。就是这样-更安全,可能更快。您不应该像这样将数据存储在数据库中。让我解释一下:
您可以使用人们在这里提到的解决方案(如%shopping%
等),但这样做确实是自找麻烦
阅读关于规范化的文章。您可以使用一个意愿
表,而不是一个意愿
字段,该表的外观如下所示:
person_id willing
1 pool
2 shopping
2 pool
3 swimming
3 games
等等
然后,您只需要一个查询,如
从where willing=“pool”
中选择不同的人员id。就是这样-安全得多,可能更快。以这种不可用的形式存储数据的原因是什么?它来自rss字段的数据不是由meSo生成的,然后在解析提要时将其拆分。以这种不可用的形式存储数据的原因是什么?它来自rss字段的数据不是由meSo生成的,然后在解析提要时将其拆分。