Expressões de valor sql
Uma expressão SQL pode ser simples ou complexa. A expressão pode conter valores literais, nomes de colunas, parâmetros, variáveis de host, subqueries, conectivos lógicos e operadores aritméticos. Independentemente de sua complexidade, uma expressão deve reduzir a um único valor.
Conteúdo
Por esta razão, expressões SQL são comumente conhecidos como expressões de valor. Combinando várias expressões de valor em uma única expressão é possível, desde que as expressões de valor componente reduzir para valores que têm tipos de dados compatíveis.
SQL tem cinco tipos de expressões de valor:
expressões valor da cadeia
expressões valor numérico
expressões de valor de data e hora
expressões valor do intervalo
expressões valor condicional
expressões valor da cadeia
O mais simples expressão valor da cadeia especifica um único valor da cadeia. Outras possibilidades incluem uma referência de coluna, uma função conjunto, um subconsulta escalar, uma CASO expressão, uma FUNDIDA expressão, ou uma expressão de valor da cadeia complexa.
Apenas um operador é possível em uma expressão de valor string: o operador concatenação. Você pode concatenar qualquer uma das expressões de valor com outra expressão para criar uma expressão valor da cadeia mais complexa. Um par de linhas verticais (||) Representa o operador de concatenação. A tabela a seguir mostra alguns exemplos de expressões de valor string.
Expressão | produz |
---|---|
&lsquo-amendoim &lsquo- || &lsquo-quebradiço&rsquo- | &lsquo-amendoim quebradiço&rsquo- |
&lsquo-Jelly&rsquo- || &lsquo- &lsquo- || &lsquo em grão&rsquo- | &feijão lsquo-Jelly&rsquo- |
FIRST_NAME || &lsquo- &lsquo- || ÚLTIMO NOME | &lsquo-Joe Smith&rsquo- |
B&rsquo-1100111 `|| B&rsquo-01010011 " | &rsquo-110011101010011 ` |
&lsquo-&rsquo- || &lsquo-Espargos&rsquo- | &lsquo-Espargos&rsquo- |
&lsquo-Espargos&rsquo- || &lsquo-&rsquo- | &lsquo-Espargos&rsquo- |
&lsquo-Como&rsquo- || &lsquo-&rsquo- || &lsquo-par&rsquo- || &lsquo-&rsquo- || &lsquo-agus&rsquo- | &lsquo-Espargos&rsquo- |
Se você concatenar uma string para uma cadeia de comprimento zero, o resultado é o mesmo que a string original.
expressões valor numérico
Dentro expressões valor numérico, você pode aplicar as adição, subtração, multiplicação e operadores de divisão com dados de tipo numérico. A expressão deve reduzir para um valor numérico. Os componentes de uma expressão valor numérico pode ser de diferentes tipos de dados, enquanto todos os tipos de dados são numéricos.
O tipo de dados do resultado depende dos tipos de dados dos componentes a partir do qual derivam o resultado. Mesmo assim, o padrão SQL não rigidamente especificar o tipo que resulta de uma combinação específica de componentes de expressão de origem. Isso é por causa das diferenças entre as plataformas de hardware. Verifique a documentação para sua plataforma específica quando você está misturando tipos de dados numéricos.
Aqui estão alguns exemplos de expressões de valor numérico:
-27
49 + 83
5 * (12 - 3)
PROTEÍNA + FAT + CARBOIDRATOS
PÉS / 5280
CUSTO *: multiplierA
expressões de valor de data e hora
expressões de valor de data e hora executar operações em dados que lidam com datas e horários. Estas expressões de valor pode conter componentes que são dos tipos ENCONTRO, TEMPO, TIMESTAMP, ou INTERVALO. O resultado de uma expressão de valor de data e hora é sempre um tipo de data e hora (ENCONTRO, TEMPO, ou TIMESTAMP). A seguinte expressão, por exemplo, dá a data uma semana a partir de hoje:
CURRENT_DATE + intervalo `7` DIA
Vezes são mantidos em Tempo Universal Coordenado (UTC) - conhecido no Reino Unido como Greenwich Mean Time - mas você pode especificar um deslocamento para fazer o tempo correto para qualquer fuso horário particular. Para fuso horário local do seu sistema, você pode usar a sintaxe simples dado no exemplo a seguir:
TEMPO `22: 55: 00` AT LOCAL
Alternativamente, você pode especificar esse valor o caminho mais longo:
TEMPO `22: 55: 00` AT TIME ZONE INTERVALO `` HOUR -08,00 AO MINUTO
Esta expressão define a hora local como o fuso horário para Portland, Oregon, que é de oito horas mais cedo do que o de Greenwich, Inglaterra.
expressões valor do intervalo
Se você subtrair um datetime de outra, você recebe um intervalo. Adicionando uma data e hora para outra não faz sentido, de modo SQL não permitir que você faça isso. Se você adicionar dois intervalos juntos ou subtrair um intervalo de outro intervalo, o resultado é um intervalo. Você também pode multiplicar ou dividir um intervalo por uma constante numérica.
SQL tem dois tipos de intervalos: ano mês e dia. Para evitar ambiguidades, é necessário especificar qual usar em uma expressão de intervalo. A seguinte expressão, por exemplo, dá o intervalo em anos e meses até chegar a idade de aposentadoria:
(BIRTHDAY_65 - CURRENT_DATE) ANO DE MÊS
O exemplo que se segue dá um intervalo de 40 dias:
`23` INTERVAL DAY `17` DIA + INTERVALO
O exemplo a seguir se aproxima do número total de meses que uma mãe de cinco esteve grávida (assumindo que ela não está atualmente esperando número seis!):
INTERVALO `9` Mês * 5
Os intervalos podem ser negativo, bem como positivo e pode consistir de qualquer expressão de valor ou a combinação de expressões de valor que é avaliada como um intervalo.
expressões valor condicional
O valor de uma valor expressão condicional depende de uma condição. As expressões de valor condicionais CASO, NULLIF, e COALESCE são significativamente mais complexo do que os outros tipos de expressões de valor.