SQLite3 - 如何从字符串

时间:2017-03-08 03:21:09

标签: sql sqlite

我有一个名为shoes的表:

Shoe_model     price    sizes
-----------------------------------------------
Adidas KD      $55      '8, 9, 10, 10.5, 11, 11.5'

Nike Tempo     $56      '8, 9, 11.5'

Adidas XL      $30.99   '9, 10, 11, 13'

如何为特定尺寸选择行?

我的尝试:

SELECT * FROM shoes WHERE sizes = '10';

有解决方法吗?使用LIKE将获得10和10.5大小,因此我尝试使用WHERE。感谢

1 个答案:

答案 0 :(得分:1)

首先,您不应将大小存储为逗号分隔的字符串。你应该有一个单独的行,每个节目每个大小一行。这是存储事物的SQLish方式。

有时,我们会遇到其他人非常糟糕的设计决策。在你可以做这样的事情:

SELECT *
FROM shoes
WHERE ',' || '10' || ',' LIKE '%,' || sizes || ',%';

分隔符非常重要,因此" 10"不匹配" 100"。