none
adcionar dois dias RRS feed

  • Pergunta

  •  

    pessoal tenho esta instrução abaixo,

     

    SELECT * FROM niver
    WHERE substring(dtnasc,4,2) ='04'           // aqui pego o mes
    and substring(dtnasc,1,2) IN ('04','05','06')  // aqui pego os dias
    order by substring(dtnasc,1,2),nome

     

    estou gerando uma listagem dos aniversariantes do mes mostrando apenas os do dia, porem quando for na sexta-feira, gostaria de mostra alem da sexta-feira, o sabado e domingo, Outro detalhe o campo DTNASC é do tipo VARCHAR(15).

    minha duvida é como acrescentar + dois dias, quando for sexta, a data de nascimento?

    alguem pode me ajudar.

    segunda-feira, 7 de abril de 2008 13:39

Respostas

  • Bom Dia,

     

    Tente o seguinte:

     

    Code Snippet

    SET DATEFORMAT DMY

    SELECT * FROM niver

    WHERE

    substring(dtnasc,4,2) ='04' AND

    DATEPART(dw,(CAST(dtnasc AS SMALLDATETIME))) IN (6,7,1)

    order by substring(dtnasc,1,2),nome

     

     

    Quando puder, recomendo urgentemente trocar esse tipo de dados de string para data. Você certamente está perdendo bastante desempenho rodando a consulta da forma como faz atualmente.

     

    [ ]s,

     

    Gustavo

     

    segunda-feira, 7 de abril de 2008 14:06