Select: Retornar Null ao invez do valor do campo???

31/01/2006

0

Olá colegas.

O caso é:

Preciso que no retorno de um select certo campo (mesmo tendo o seu valor na tabela) me retorne null, por exemplo.


select CLIENTE,DATACAD,DATACAD as NOVOCAMPO from TABELA


é que preciso de um novo campo data (como um campo temporario), pois apos o select faço um while para efetuar uns tratamentos, no qual preciso jogar valores nesse NOVOCAMPO.

O problema é que como este NOVOCAMPO é baseado no DATACAD ele sempre vem com valor, e em NOVOCAMPO so atribuo valor se satisfazer as condições tratadas no while.

Sei que poderia ´anular´ o valor caso a condição for falsa, mas quero aprender se possivel, como fazer isso via SQL.

Grato.


:arrow:


Macario

Macario

Responder

Posts

31/01/2006

Delphi32

Se for firebird, você pode usar:

SELECT CODIGO, NOME, NULL AS VARCHAR(10) FROM TABELA.

Até.


Responder

31/01/2006

Macario

Ah! eu sempre me esqueço de citar o ambiente.


D6 com MS-SQL Server 2000.

Mas agradeço por quem citar o conhecimento nos bancos existentes, pois nunca se sabe por onde andaremos...não..é?


Responder

31/01/2006

Macario

Se for firebird, você pode usar: SELECT CODIGO, NOME, NULL AS VARCHAR(10) FROM TABELA. Até.


Essa acho que é so pra FB mesmo em SQLSERVER nao funcionou

tentei o seguinte

select CLIENTE,DATACAD,null as NOVOCAMPO from TABELA


ai ele retornou null, mas qual será o tipo do campo :?:
como seto o tipo necessario :?:
:arrow:

no meu caso precisaria que fosse DATETIME


Responder

31/01/2006

Delphi32

No SQLSERVER você tem como, pelo select, chamar um campo inteiro como varchar? Se tiver, a sintaxe deve ser a mesma que para chamar o NULL do tipo que você quer...

Até!


Responder

31/01/2006

Macario

No SQLSERVER você tem como, pelo select, chamar um campo inteiro como varchar? Se tiver, a sintaxe deve ser a mesma que para chamar o NULL do tipo que você quer... Até!


Não entendi!


Responder

31/01/2006

Delphi32

Exemplo:

CREATE TABLE TABELA1(
CODIGO INTEGER NOT NULL,
NOME VARCHAR(40)
);

Um select para essa tabela seria:

SELECT CODIGO, NOME FROM TABELA1

Mas eu posso fazer com que o tipo do campo seja alterado através do comando CAST. Por sinal, acabei de perceber que a SQL que eu te mandei estava errada. Faltou justamente o comando CAST. Veja bem, posso retornar para o programa o campo CODIGO como sendo do tipo VARCHAR fazendo:

SELECT
   CAST(CODIGO AS VARCHAR(10)),
   NOME
FROM
   TABELA1


Ou melhor, a sql que eu te passei seria assim:

SELECT
   CODIGO,
   NOME,
   CAST(NULL AS VARCHAR(10))
FROM
   TABELA


Bem, você pode tentar essa SQL com o cast. Não sei se funciona no SQL Server. De qualquer maneira eu queria que você visse que CAST no firebird faz com que o campo venha convertido em outro tipo. Se isso existir no SQL Server então é só aplicar essa lógica e você vai conseguir retornar o nulo como DateTime. Entendeu? Qualquer coisa, posta aqui.

Até!


Responder

31/01/2006

Macario

Valeu, [b:46fd2a1052]delphi32[/b:46fd2a1052]

select CLIENTE,DATACAD,cast(null as datetime) as NOVOCAMPO from TABELA 


funcionou legal.

8)


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar