1
votes

Existe-t-il un moyen de sélectionner une valeur dans une colonne contenant des virgules?

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'


1 commentaires

Ne stockez pas de valeurs séparées par des virgules, c'est une mauvaise idée


3 Réponses :


0
votes

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,)[^,]+');


0 commentaires

0
votes

Il est possible que le schéma de la base de données enfreigne la première forme normale


0 commentaires

1
votes

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


0 commentaires