Literales en SQL
En la lección anterior mostramos una cadena o, dicho de manera más formal, lo que se llama un literal de cadena.
MySQL 8.4SELECT 'Hello world'
Los principales tipos de literales en SQL son:
- de cadena
- numérico
- lógico
- NULL
- de fecha y hora
Literales de cadena
Una cadena es una secuencia de caracteres entre comillas simples (') o dobles ("). Por ejemplo, 'esto es una cadena' y "esto es una cadena".
Una cadena es una secuencia de caracteres entre comillas simples ('). Por ejemplo, 'esto es una cadena'.
En PostgreSQL las comillas dobles (") se usan para los identificadores (nombres de tablas y columnas), así que no se pueden usar para los literales de cadena.
Las cadenas pueden contener secuencias especiales de caracteres que empiezan por "\" (el carácter de escape). Sirven para que el SGBD dé a caracteres normales (letras y otros signos) un significado especial nuevo. Por ejemplo, la secuencia "\n" significa literalmente «salto de línea», mientras que sin la barra delante sería simplemente la letra "n".
Las cadenas pueden contener secuencias especiales de caracteres que empiezan por "\" (el carácter de escape). Sirven para que el SGBD dé a caracteres normales (letras y otros signos) un significado especial nuevo. Por ejemplo, la secuencia "\n" significa literalmente «salto de línea», mientras que sin la barra delante sería simplemente la letra "n".
Para usar secuencias de escape en PostgreSQL, tienes que usar cadenas E.
-
MySQL 8.4
SELECT 'Cadena Otra cadena' as String -
MySQL 8.4
SELECT 'Cadena \n Otra cadena' as StringMySQL 8.4SELECT E'Cadena \n Otra cadena' as String
Literales numéricos
Operadores aritméticos
Para los literales numéricos, SQL tiene todos los operadores aritméticos de siempre:
Con estos operadores puedes construir cualquier expresión aritmética aplicando las reglas habituales de la aritmética.
Por ejemplo:
MySQL 8.4SELECT (5 * 2 - 6) / 2 AS Result;
Literales de fecha y hora
Los valores de fecha y hora se pueden representar como cadena o como número.
Por ejemplo, si queremos indicar una fecha en una consulta, podemos hacerlo con la cadena "1970-12-30", "19701230" o con el número 19701230. En todos los casos, estos valores se interpretan como la fecha «30 de diciembre de 1970».
Por ejemplo, si queremos indicar una fecha en una consulta, podemos hacerlo con la cadena '1970-12-30' o '19701230'.
Aquí tienes un ejemplo de uso de un literal de fecha:
MySQL 8.4SELECT * FROM FamilyMembers WHERE birthday > '1970-12-30'
No te fijes en qué hace exactamente esta consulta, lo veremos más adelante. Ahora lo importante es la sintaxis con la que indicamos la fecha en la consulta.
Además de la fecha, también podemos indicar solo la hora o ambas cosas juntas.
Literales lógicos
Los literales lógicos son los valores true y false, que indican si una afirmación es verdadera o falsa.
Al interpretar la consulta, MySQL los convierte en números: true y false pasan a ser 1 y 0 respectivamente.
NULL
El valor NULL significa «no hay datos» o «no hay valor». Sirve para distinguir los valores vacíos, como una cadena de longitud cero o un espacio, de la situación en la que no hay ningún valor.