Mudanças entre as edições de "Função @ISNULL"

(Sintaxe)
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 1: Linha 1:
A função '''@ISNULL''' preenche a função "IS NULL" correspondente a cada banco de dados.
 
 
 
A função @ISNULL é utilizada para adaptar a função IS NULL conforme o banco de dados em uso. Ela é substituída por funções equivalentes específicas de cada sistema de gerenciamento de banco de dados (SGBD):
 
A função @ISNULL é utilizada para adaptar a função IS NULL conforme o banco de dados em uso. Ela é substituída por funções equivalentes específicas de cada sistema de gerenciamento de banco de dados (SGBD):
  
Linha 12: Linha 10:
 
!Descrição
 
!Descrição
 
|-
 
|-
|@Month
+
|@ISNULL
 
|PostgreSQL
 
|PostgreSQL
|EXTRACT(MONTH FROM DATE)
+
|COALESCE(expression, replacement_value)
 
|-
 
|-
 
|-
 
|-
|@Month
+
|@ISNULL
 
|Oracle
 
|Oracle
|TO_CHAR(DATE, 'MM')
+
|NVL(expression, replacement_value)
 
|-
 
|-
 
|-
 
|-
|@Month
+
|@ISNULL
 
|FireBird
 
|FireBird
|EXTRACT(MONTH FROM DATE)
+
|COALESCE(expression, replacement_value)
 
|-
 
|-
|@Month
+
|@ISNULL
 
|SQLServer
 
|SQLServer
|MONTH(DATE)
+
|@ISNULL(expression, replacement_value)
 
|-
 
|-
 
|}
 
|}

Edição atual tal como às 13h21min de 24 de fevereiro de 2025

A função @ISNULL é utilizada para adaptar a função IS NULL conforme o banco de dados em uso. Ela é substituída por funções equivalentes específicas de cada sistema de gerenciamento de banco de dados (SGBD):

Sintaxe

@ISNULL;

Parâmetros

Nome Banco Descrição
@ISNULL PostgreSQL COALESCE(expression, replacement_value)
@ISNULL Oracle NVL(expression, replacement_value)
@ISNULL FireBird COALESCE(expression, replacement_value)
@ISNULL SQLServer @ISNULL(expression, replacement_value)

Exemplos

 procedure Filtro;
 var
  Q:TPHQuery;                           
 begin
   try
     Q := NewPHQuery;
     Q.Add('SELECT * '+
           'FROM PESSOAS '+
           'WHERE EMAIL = @ISNULL ');                                                                                         
   finally
     Q.Free;
   end;                
 end;          
 begin
   Filtro;                                                  
 end.