2
votes

Conversion des noms de colonne db2 dans select pour être en minuscules dans le fichier json

J'ai actuellement une sélection très simple que mon code vidage ensuite dans JSON

SELECT user, phone
FROM table t;

Mais la sélection renvoie tous les noms de colonnes en majuscules, ce qui entraîne des clés JSON en majuscules, ce que je ne veux pas. Existe-t-il un moyen dans DB2 de renvoyer les noms de colonnes en minuscules?


3 commentaires

Indice: LOWER () .


J'ai essayé cela mais il renvoie simplement 0001 et 0002 comme noms de colonne


Astuce 2.0: ignorer l'indication ci-dessus


3 Réponses :


-3
votes

Utilisez la fonction LOWER ();

    SELECT LOWER(user) AS 'user', LOWER(phone) AS 'phone'
    FROM table t;


6 commentaires

J'ai essayé cela mais il renvoie simplement les noms de colonne 00001 et 00002


Il indique maintenant "jeton [n'était pas valide"


remplacer le [par des apostrophes; SELECT LOWER (utilisateur) comme «utilisateur», LOWER (téléphone) comme «téléphone» À PARTIR de la table t;


"utilisateur" est un mot-clé donc vous ne pouvez pas dire: LOWER (utilisateur) AS utilisateur. vous pouvez essayer LOWER (user) AS username ou quelque chose comme ça si les apostrophes ne fonctionnent pas


C'est tellement étrange, cela n'a pas fonctionné non plus. Je peux utiliser des guillemets doubles, mais le nom réel de la colonne a des guillemets doubles


Les identificateurs cités utilisent des guillemets doubles; les guillemets simples sont pour les littéraux de caractères.



1
votes

Si vous voulez que le résultat de la requête soit petit, essayez ceci

SELECT LOWER(user), LOWER(phone)
FROM table t;


1 commentaires

Pour plus de détails sur la fonction lower () de DB2, voir ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/sqlref/src/‌ tpc /… .



6
votes

Si vous souhaitez obtenir des noms de colonnes minuscules (et non des données) dans DB2, vous devez utiliser des guillemets doubles autour des noms de colonnes.

SELECT user as "user", phone as "phone"
FROM table t;


2 commentaires

Mais en fait, cela peut dépendre de l'outil que vous utilisez. Par exemple, si vous utilisez un outil basé sur jdbc, il peut utiliser ResultSetMetaData.getColumnName ou ResultSetMetaData.getColumnLabel, le résultat peut dépendre d'un jeu de propriétés. Exemples de valeurs ResultSetMetaData.getColumnName et ResultSetMetaData.getColumnLabel


Merci, cela a fait l'affaire. Hé, puisque vous semblez avoir beaucoup de connaissances avec DB2, savez-vous comment conserver l'ID (clé primaire) d'un enregistrement inséré ou mis à jour? Je viens de poser une question à ce sujet et je n'ai encore rien trouvé sur le sujet