Caracteres y símbolos en SQL
Los elementos más básicos de la sintaxis SQL son los caracteres y los tokens. Los tokens son las unidades sintácticas básicas del lenguaje SQL.
Caracteres
Los símbolos básicos de las palabras clave y los operadores en el lenguaje SQL son caracteres. Los caracteres se clasifican en letras, dígitos o caracteres especiales.
- Una letra es cualquiera de las 26 letras mayúsculas (A-Z) y 26 minúsculas (a-z) del alfabeto inglés. 1
- Un dígito es cualquiera de los caracteres del 0 al 9.
- Un carácter especial es cualquier carácter que no sea una letra o un dígito.
Señales
Las unidades sintácticas básicas del lenguaje SQL se denominan tokens. Una señal consta de uno o más caracteres que no son espacios en blancos, caracteres de control o caracteres incluidos en el identificador de una constante de serie o delimitador.
Los tokens se clasifican como tokens ordinarios o delimitadores :
- Un símbolo ordinario es una constante numérica, un identificador ordinario, un identificador del lenguaje principal o una palabra clave. Los siguientes ejemplos son fichas ordinarias:
1 .1 +2 SELECT E 3 - Un símbolo delimitador es una constante de tipo serie, un identificador delimitado, un símbolo de operador o cualquier carácter especial mostrado en los diagramas de sintaxis. Un signo de interrogación (
?) también es un token delimitador cuando sirve como marcador de parámetro, como se explica en la instrucción PREPARE. Los siguientes ejemplos incluyen símbolos delimitadores:, 'string' "fld1" = .
Espacios
Un espacio es una secuencia de uno o más caracteres en blanco.
Caracteres de control
Un carácter de control es un carácter especial que se utiliza para la alineación de cadenas. Tratado de forma similar a un espacio, un carácter de control no provoca que se produzca una acción concreta. La siguiente tabla muestra los caracteres de control que reconoce Db2 y sus valores hexadecimales.

| Carácter de control | Valor hex EBCDIC | UTF-8 valor hexadecimal | UTF-16 valor hexadecimal |
|---|---|---|---|
| Ficha | 05 | 09 | U+0009 |
| Salto de página | 0C | 0C | U+000C |
| Retorno de carro | 0D | 0D | U+000D |
| Línea nueva | 15 | C285 | U+0085 |
| Salto de línea | 25 | 0A | U+000A |
| Espacio DBCS | - | - | U+3000 |

Los tokens, a excepción de las constantes de cadena y ciertos identificadores delimitados, no deben incluir un carácter de control o espacio. Un carácter de control o un espacio pueden seguir a un token. Cada token ordinario debe ir seguido de un token delimitador, un carácter de control o un espacio. Si la sintaxis no permite que un token delimitador siga a un token ordinario, dicho token ordinario debe ir seguido de un carácter de control o un espacio.
Caracteres trigraph
Los caracteres del corchete izquierdo ([) y del corchete derecho (]) se utilizan en la sintaxis para referirse a un elemento de una matriz. Esos caracteres no se pueden especificar con algunos CCSID. Los siguientes trígrafos pueden utilizarse como una forma alternativa de especificar los corchetes izquierdo y derecho:
- La cadena
??(puede especificarse en lugar de un corchete izquierdo ([). - La cadena
??)puede especificarse en lugar de un corchete derecho (]).
Comentarios
Las sentencias de SQL dinámico pueden incluir comentarios de SQL. Las sentencias de SQL estático pueden incluir comentarios SQL o del lenguaje principal. Se pueden especificar comentarios dondequiera que se pueda especificar un espacio, excepto dentro de un símbolo delimitador o entre las palabras clave EXEC y SQL. En Java™, los comentarios SQL no están permitidos dentro de las expresiones Java incrustadas. Existen dos tipos de comentarios de SQL:
- comentarios simples
- Los comentarios simples se introducen con dos guiones consecutivos (
--). Los comentarios simples no pueden continuar más allá del final de la línea. - comentarios compuestos
- Los comentarios entre corchetes se introducen con
/*y terminan con*/. Un comentario entre corchetes puede continuar más allá del final de la línea.
EXEC SQL
CREATE VIEW PRJ_MAXPER --projects with most support personnel
/*
* Returns number and name of the project
*/
AS SELECT PROJNO, PROJNAME -- number and name of project
FROM DSN8910.PROJ
/*
* E21 is the systems support dept code
*/
WHERE DEPTNO = 'E21' -- systems support dept code
AND PRSTAFF > 1;Para más información, consulte los comentarios de SQL.
Mayúsculas y minúsculas
Un token en una instrucción SQL puede incluir letras minúsculas, pero las letras minúsculas en un token normal se convierten en mayúsculas. Sin embargo, las letras minúsculas se convierten en mayúsculas en un programa C o Java solo si se especifica la opción de precompilador adecuada. Los símbolos delimitadores no se convierten nunca a mayúsculas.
select * from DSN8C10.EMP where lastname = 'Smith'; SELECT * FROM DSN8C10.EMP WHERE LASTNAME = 'Smith';