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

(Criou página com 'A função '''@ISNULL''' preenche a função "IS NULL" correspondente a cada banco de dados. ==='''Sintaxe'''=== @ISNULL; ==='''Parâmetros'''=== {| class="wikitable" style=...')
 
 
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
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):
  
 
==='''Sintaxe'''===
 
==='''Sintaxe'''===
Linha 12: Linha 12:
 
|@ISNULL
 
|@ISNULL
 
|PostgreSQL
 
|PostgreSQL
|Coalesce
+
|COALESCE(expression, replacement_value)
 
|-
 
|-
 
|-
 
|-
 
|@ISNULL
 
|@ISNULL
 
|Oracle
 
|Oracle
|NVL
+
|NVL(expression, replacement_value)
 
|-
 
|-
 
|-
 
|-
 
|@ISNULL
 
|@ISNULL
 
|FireBird
 
|FireBird
|Coalesce
+
|COALESCE(expression, replacement_value)
 
|-
 
|-
 
|@ISNULL
 
|@ISNULL
 
|SQLServer
 
|SQLServer
|ISNULL
+
|@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.