J'ai un nom de colonne dans l'une de mes tables appelées: Quand j'essaie d'exécuter une requête, cela me donne l'erreur suivante sur la surbrillance de la surbrillance ora-00923: à partir du mot clé introuvable si attendu. p>
blockQuote>
Comment puis-je apporter ce champ sans qu'elle jetant une erreur à chaque fois que j'apporte ce champ? P> 3rd_diag_code - varchar2 (10 octets) code> p>
3RD_DIAG_CODE CODE>. P>
3 Réponses :
Vérifiez votre spécification, mais dans SQL Server, nous devrons joindre le nom de la colonne dans les crochets: [3rd_diag_code] code> p> p>
En mettant des citations doubles autour de mon nom de champ, j'ai pu avoir la course à la requête et me donner les résultats dont j'avais besoin. Ex: Sélectionnez Noms de champ, "3rd_diag_code" comme DiagCD3 de MyTable;
L'OP a indiqué qu'ils utilisent Oracle, des solutions fournissant SQL Server Syntax ne sont pas utiles. Sur Stackoverflow, la balise [sql] code> signifie simplement la langue de requête et non MS SQL Server.
Vous avez probablement deux colonnes répertoriées sans une virgule entre eux.
create table t (id number primary key, 3d varchar2(30)) Error at Command Line:1 Column:39 Error report: SQL Error: ORA-00904: : invalid identifier 00904. 00000 - "%s: invalid identifier" create table t (id number primary key, "3d" varchar2(30)); table T created. desc t Name Null Type ---- -------- ------------ ID NOT NULL NUMBER 3d VARCHAR2(30) > select id, 3d from t --[as @gsiem mentions: THIS IS BAD] ID 3D ---------------------- -------- > select id, "3d" from t ID 3d ---------------------- ------------------------------ > select id, [3d] from t Error starting at line 7 in command: select id, [3d] from t Error at Command Line:7 Column:11 Error report: SQL Error: ORA-00936: missing expression 00936. 00000 - "missing expression" *Cause: *Action: > select id 3d from t Error starting at line 8 in command: select id 3d from t Error at Command Line:8 Column:10 Error report: SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected" *Cause: *Action:
Essayez d'ajouter une ligne ou deux de données à la table et réexécutez votre sélection-- Sélectionnez 3D contre "3D" se comporter différemment.
@gsiems, intéressant. Ne s'attendait pas à ce comportement. > Sélectionnez 3DXASDFASDF, 4adffaFAFDASDF à partir de Dual XASDFASDF AdFFAFAFDASDF --------- ------------ 3.0 4
Si vous utilisez des noms de colonne commençant par un numéro, vous devez utiliser des guillemets doubles. Par exemple:
Pas assez d'informations, publiez toute votre requête.
docs.oracle.com/database/121/sqlrf/...