Select: Retornar Null ao invez do valor do campo???
31/01/2006
0
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
Posts
31/01/2006
Delphi32
SELECT CODIGO, NOME, NULL AS VARCHAR(10) FROM TABELA.
Até.
31/01/2006
Macario
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..é?
31/01/2006
Macario
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
31/01/2006
Delphi32
Até!
31/01/2006
Macario
Não entendi!
31/01/2006
Delphi32
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é!
31/01/2006
Macario
select CLIENTE,DATACAD,cast(null as datetime) as NOVOCAMPO from TABELA
funcionou legal.
8)
Clique aqui para fazer login e interagir na Comunidade :)