PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - Função Básica mas muito útil pra quem trabalha com SQL: ReplaceNull
WX - Função Básica mas muito útil pra quem trabalha com SQL: ReplaceNull
Iniciado por adrianoboller, jul., 10 2015 6:06 PM - 6 respostas
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 10 2015 - 6:06 PM
Procedure ReplaceNull(Texto, Busca, Troca)

IF Troca <> ""
Texto = Replace(Texto, Busca, Troca)
ELSE
IF PositionOccurrence(Texto,"'"+ Busca +"'",firstRank,FromBeginning) > 0
Texto = Replace(Texto,"'"+ Busca +"'","null")
ELSE
Texto = Replace(Texto,Busca,"null")
END
END

RESULT(Texto)
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 10 2015 - 6:07 PM
Uso:

SQLExecuta = ReplaceNull(SQLExecuta,"@pCodigoCliente@",CodCliente)
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 10 2015 - 6:09 PM
Ou usar o se vazio Empty do entry como Null
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 20 2015 - 6:54 PM
Procedure ReplaceNull(Texto, Busca, Troca)

IF Texto <> "" AND Busca <> ""
IF Troca <> "" AND PositionOccurrence(Texto,"'"+ Busca +"'",firstRank,FromBeginning) > 0
Texto = Replace(Texto, "'"+ Busca +"'", Troca)
ELSE IF Troca <> "" AND PositionOccurrence(Texto, Busca, firstRank,FromBeginning) > 0
Texto = Replace(Texto, Busca, Troca)
ELSE IF Troca = "" AND PositionOccurrence(Texto,"'"+ Busca +"'",firstRank,FromBeginning) > 0
Texto = Replace(Texto,"'"+ Busca +"'","null")
ELSE IF Troca = "" AND PositionOccurrence(Texto, Busca, firstRank,FromBeginning) > 0
Texto = Replace(Texto,Busca,"null")
END
END

RESULT(Texto)
Publicado em julho, 30 2015 - 1:22 PM
Adriano no SQL Server basta usar

ISNULL(Atributo, ValorCasoNulo)
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 15 2015 - 6:40 PM
:merci:
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 15 2015 - 6:44 PM
//No caso de uso do comando HExecuteQuery na passagem dos paramentos precise enviar um comando Nulo e não vazio "":

VariavelNula is Variant = Null

ok is boolean = HExecuteQuery(QYR_Clientes,hQueryDefault, "Adriano Boller", "6348864", VariavelNula)
IF ok = True
Info("OK")
ELSE
Error(ErrorInfo( ))
END