我有一个名为" UNKNOWN":
的表ID ToF Value
1 T {"Noisy": Yes, "Ugly": Yes, "Pretty": No)
2 F {"Noisy": Yes, "Ugly": No, "Pretty": No)
3 T {"Noisy": Yes, "Ugly": Yes, "Pretty": No)
4 F {"Noisy": No, "Ugly": Yes, "Pretty": No)
5 F {"Noisy": Yes, "Ugly": Yes, "Pretty": Yes)
6 T {"Noisy": Yes, "Ugly": Yes, "Stupid": No)
我试图提取值,因此我使用:SELECT * FROM UNKOWN WHERE CONTAINS(Value, 'Stupid)
来提取包含单词Stupid的Value。但它没有返回任何东西。是否可以提取值?
答案 0 :(得分:1)
试试这个:SELECT * FROM UNKOWN WHERE Value LIKE '%Stupid%'
%
是通配符,表示任何文字都可以在'Stupid'
左侧或右侧。
答案 1 :(得分:1)
假设Value
列的类型为JSON
(或等效类型),答案取决于您的数据库。
在Postgres中,你should use the ? operator:
SELECT * FROM UNKNOWN WHERE Value ? 'Stupid'
对于MySQL,您应该use JSON_CONTAINS_PATH:
SELECT * FROM UNKNOWN WHERE JSON_CONTAINS(Value, "all", '$.Stupid')