Je me demandais s'il y avait un moyen de sélectionner dans une colonne qui a des valeurs séparées par des virgules.
Par exemple, la colonne a ces données: ('16', '20', '27', '2' , '3')
Est-il possible de faire quelque chose comme ceci:
- obtenir la valeur 16 de la table: -
select from table where value in '16'
ou peut-être utiliser dans?
select from table where value = '16'
3 Réponses :
Veuillez utiliser ce qui suit si la colonne de valeur a des guillemets simples violon sql ici XXX
s'il n'a pas de guillemets simples, utilisez le sql violon ici
select * from tt where REGEXP_LIKE(value1,'(16,)[^,]+');
Il est possible que le schéma de la base de données enfreigne la première forme normale
Si la colonne valeur
contient des données avec des guillemets simples comme ceci:
select * from table where ',' || value || ',' like '%,16,%'
alors vous pouvez utiliser l'opérateur comme
:
select * from table where ',' || replace(value, ' ', '') || ',' like '%,16,%'
S'il n'y a pas de guillemets simples et que les données sont comme:
16, 20, 27, 2, 3
Ne stockez pas de valeurs séparées par des virgules, c'est une mauvaise idée a >