O MaxCompute permite usar a função NVL para substituir valores nulos em uma consulta por um valor específico. Dessa forma, nenhum valor nulo inesperado é incluído no resultado retornado durante a análise de dados ou a geração de relatórios. Este tópico descreve como usar a função NVL no MaxCompute.
Sintaxe
nvl(T <value>, T <default_value>)
Parâmetros
value: obrigatório. O parâmetro de entrada.
Tespecifica o tipo dos dados de entrada. Pode ser qualquer tipo de dado compatível com o MaxCompute.default_value: obrigatório. O valor usado para substituir o nulo. O tipo de dado de default_value deve ser igual ao tipo de dado de value.
Valor de retorno
Se value for nulo, default_value será retornado. Caso contrário, value será retornado. Os parâmetros value e default_value devem ter o mesmo tipo de dado.
Dados de exemplo
Esta seção fornece dados source de exemplo para demonstrar como usar a função NVL. Neste exemplo, crie uma tabela chamada nvl_test e dados são inseridos nela. Instrução de exemplo:
CREATE TABLE nvl_test (
c1 string,
c2 bigint,
c3 datetime);
-- Insert data into the table.
INSERT INTO nvl_test VALUES
('aaa',23,'2024-01-11 00:00:00'),
('bbb',NULL,'2024-01-12 08:00:00'),
(NULL,20,'2024-01-13 05:00:00'),
('ddd',25,NULL);
Exemplos
A tabela nvl_test contém as seguintes colunas: c1, c2 e c3. A função NVL substitui um valor nulo na coluna c1 por 00000, substitui um valor nulo na coluna c2 por 0 e substitui um valor nulo na coluna c3 por um hyphen (-). Instrução de exemplo:
SELECT nvl(c1,'00000'),nvl(c2,0),nvl(c3,'-') FROM nvl_test;
-- The following result is returned:
+-----+------------+-----+
| _c0 | _c1 | _c2 |
+-----+------------+-----+
| aaa | 23 | 2024-01-11 00:00:00 |
| bbb | 0 | 2024-01-12 08:00:00 |
| 00000 | 20 | 2024-01-13 05:00:00 |
| ddd | 25 | - |
+-----+------------+-----+
Funções relacionadas
Para mais informações, consulte Other functions.