SQL Valor Expressões
Uma expressão SQL pode ser simples ou complexa. A expressão pode conter valores literais, nomes de colunas, parâmetros variáveis do host, subqueries, conectivos lógicos e operadores aritméticos. Independentemente da sua complexidade, uma expressão deve reduzir a um único valor.
Menu
Por esta razão, expressões SQL são comumente conhecidos como expressões de valor. Combinando múltiplas expressões valor numa única expressão é possível, desde que as expressões valor do componente para reduzir a 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 de valor condicionais
expressões valor da cadeia
O mais simples expressão valor de cadeia especifica um único valor de cadeia. Outras possibilidades incluem uma referência de coluna, uma função set, uma 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 de concatenação. Você pode concatenar qualquer uma das expressões de valor com outra expressão para criar uma expressão de 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 |
---|---|
'Peanut' || 'frágil' | 'Moleque' |
'Jelly' || '' || 'feijão' | 'Jujubas' |
FIRST_NAME || '' || LAST_NAME | 'Joe Smith' |
B'1100111 '|| B'01010011' | "110011101010011" |
'' || «Espargos» | 'Espargos' |
«Espargos» || '' | 'Espargos' |
'As' || '' || 'Par' || '' || 'Agus' | 'Espargos' |
Se você concatenar uma seqüência de caracteres 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 do 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 de que resulta a partir de qualquer 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 a 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 horas. Estas expressões 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 expressão a seguir, 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 dada 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
Essa expressão define a hora local como o fuso horário de Portland, Oregon, que é de oito horas mais cedo do que o de Greenwich, na 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 que o SQL não permite que você a fazê-lo. 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 intervalo. A expressão a seguir, por exemplo, dá o intervalo em anos e meses até chegar a idade da reforma:
(BIRTHDAY_65 - CURRENT_DATE) ANO DE MÊS
O exemplo a seguir dá um intervalo de 40 dias:
'23' INTERVAL DAY '17' DIA + INTERVALO
O exemplo que se segue se aproxima do número total de meses que uma mãe de cinco filhos está grávida (assumindo que ela não está atualmente esperando número seis!):
INTERVALO '9' Mês * 5
Os intervalos podem ser negativos, 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 de valor condicionais
O valor de um 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.