edutraini Posted December 17, 2021 Report Share Posted December 17, 2021 Bom dia, Pessoal Ja alguem tempo estou usando sqlrdd+sqlexpress aonde na tabela existe o campo sr_deleted na hora de fazer a select uso essa instrucao 'SR_DELETED <>'+ "'T'" para nao filtrar os deletados Tudo funcionando perfeitamente Agora estou mudando para sqlrdd+mariadb e essa instrucao nao funciona devido ao campo esta null Mudei para usar essa instrucao "COALESCE(sr_deleted,' ') = ' '" e funcionou perfeitamente tanto em sqlexpress e mariadb So queria saber se essa foi a solucao certa Obrigado Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 17, 2021 Report Share Posted December 17, 2021 Como se faz em SQL, é assim? SELECT C.NUMASE, (SELECT SUM(B.TIPUS) AS TOT FROM ( SELECT A.NUMASE, CASE WHEN A.TIVA IS NULL THEN 1 ELSE 0 END AS TIPUS FROM CONTA_001_CAS00118 as A WHERE C.NUMASE = A.NUMASE and IFNULL(A.SR_DELETED,' ') <> 'T' ) AS B ) AS SUMT FROM ( SELECT DISTINCT NUMASE FROM CONTA_001_CAS00118 WHERE IVA IS NOT NULL and IFNULL(SR_DELETED,' ') <> 'T' ) AS C Quote Link to comment Share on other sites More sharing options...
edutraini Posted December 17, 2021 Author Report Share Posted December 17, 2021 Obrigado Kapi mas no sqlexpress IFNULL NAO funciona no sqlexpress é isnull porisso optei pelo coalesce que funciona nos dois pelo que entendi é isso Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted December 17, 2021 Report Share Posted December 17, 2021 1 hora atrás, edutraini disse: Bom dia, Pessoal Ja alguem tempo estou usando sqlrdd+sqlexpress aonde na tabela existe o campo sr_deleted na hora de fazer a select uso essa instrucao 'SR_DELETED <>'+ "'T'" para nao filtrar os deletados Tudo funcionando perfeitamente Agora estou mudando para sqlrdd+mariadb e essa instrucao nao funciona devido ao campo esta null Mudei para usar essa instrucao "COALESCE(sr_deleted,' ') = ' '" e funcionou perfeitamente tanto em sqlexpress e mariadb So queria saber se essa foi a solucao certa Obrigado Exatamente isso, COALESCE e IsNull vc tem o mesma utilidade no MariaDB e Sql Server, respectivamente. Tanto que se vc usar SR_SQLParse()+ SR_SQLCodeGen() a SQLRDD ajusta automaticamente a instrução para compatibilizar com os diversos bancos compatível. No Oracle, por exemplo, a função correspondente e a NVL(). Quote Link to comment Share on other sites More sharing options...
edutraini Posted December 17, 2021 Author Report Share Posted December 17, 2021 Perfeito Jmsilva nada como falar com o mestre Obrigado Jmsilva 1 Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted December 17, 2021 Report Share Posted December 17, 2021 1 hora atrás, edutraini disse: Perfeito Jmsilva nada como falar com o mestre Obrigado Sou aprendiz ainda! kkk tmj Quote Link to comment Share on other sites More sharing options...
macs Posted December 20, 2021 Report Share Posted December 20, 2021 Usa o SR_SQLQuotedString( .T., ::oConexao:nSystemID, lNotNull ). Este irá converter para qualquer banco que você estiver utilizando. Exe: "WHERE sr_deleted <> " + SR_SQLQuotedString( .T., ::oConexao:nSystemID, lNotNull ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.