2017-08-05 3 views
-1

J'ai un type de données de colonne de json dans mysql.Opérateur Mysql LIKE pour trouver des mots dans une question sensible à la casse JSON enregistrée

est Ci-dessous les données d'exemple dans cette colonne

{"en": "dddd", "ja": null, "zh": null}

J'Execute cette requête et fonctionner parfaitement

SELECT name FROM product_categories WHERE name like '%d%'

Mais quand je change la condition '%d%'-'%D%'. Il ne retourne pas le résultat. Comment puis-je rechercher les cas mots insensibles à json colonne de type de données dans une base MySQL

Répondre

0

Avez-vous essayé ceci:

SELECT name FROM product_categories WHERE UPPER(name) like '%D%' 

Avec vous permet de convertir votre nom à un nom entièrement en majuscules et les comparer à l'opérande majuscule . Ceci devrait trouver toutes les lettres minuscules et majuscules.

+0

oui. J'ai la réponse. En fait, j'utilise 'Laravel', j'ai besoin d'interroger mon contrôleur. Je corrige ce problème en utilisant 'DB :: raw'. 'ProductCategory :: where (DB :: raw ('LOWER (nom)'), 'LIKE', '%'. Strtolower ($ r-> catégorie). '%') -> get() -> pluck (" id "," name ") -> àArray();' – Bipin