none
Duvida data convert RRS feed

  • Pergunta

  • Pessoal

    Estou no meio de uma query onde preciso trazer o conteudo de um campo alfanumerico

    fiz o seguinte:

    and tblwriandamentos.Observacao like '%Cancelado por decurso de prazo Realizado em' + CONVERT(char(10), GETDATE(), 103) + '%'

    Na minha tabela a aplicação grava no campo observação desta maneira:

    " Cancelado por decurso de prazo Realizado em Mar  5 201" 

    Ou seja o comando acima me traria todos os registros do dia 05/03/2011 ?

    Ou tenho que alterar o formato do convert para pegar desta forma

    Mar  5 201  ??

    OBS: Eu sempre preciso dos registro da data do dia que foi escrito no campo observação, por exemplo amanha dia 07/03 ficaria desta forma:

    " Cancelado por decurso de prazo Realizado em Mar  7 201" 

    • Editado J.Carlos.Rib quarta-feira, 6 de março de 2013 20:11 acres
    quarta-feira, 6 de março de 2013 20:08

Respostas

  • J.Carlos,

    Perceba que o comando que vc disse que colocou ficou assim:

    tblwriandamentos.Observacao like '%Cancelado por decurso de prazo Realizado em:' + CONVERT(varchar(10), GETDATE()) + '%'

    E o registro que vc tem está da seguinte forma:

    Cancelado por decurso de prazo Realizado em Mar 7 201

    No seu WHERE vc está colocando um ":" (dois pontos) depois do "em", porém no que vc diz que seu registro está, não existe esses dois pontos, qual é o correto? Verifique tb espaçamento, existe espaço depois do "em" ?? Se existe, coloque na pesquisa do WHERE tb.


    Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta J.Carlos.Rib quinta-feira, 7 de março de 2013 12:06
    quinta-feira, 7 de março de 2013 11:42
  • Além da observação do fb_Dev, tem o espaço logo depois do ":", que você não colocou e existe no registro.

    Eu faria isso aqui, para garantir:

    tblwriandamentos.Observacao like '%Cancelado por decurso de prazo Realizado%' + CONVERT(varchar(10), GETDATE()) + '%'

    Lembrando que essa pesquisa não faz utilização de qualquer índice existente, uma vez que você está usando um '%' no começo, o que vai causar um table scan...

    Espero te ajudado.

    • Marcado como Resposta J.Carlos.Rib quinta-feira, 7 de março de 2013 12:05
    quinta-feira, 7 de março de 2013 11:54

Todas as Respostas

  • J.Carlos.Rib

    Para trazer a data no formato "Mar 5 201" basta converter para varchar.

    Veja o exemplo abaixo.

    select convert(varchar(10),getdate())

    Abraço
    quarta-feira, 6 de março de 2013 20:41
  • Fala ai gabriel blz?

    obrigado, mas ainda nao deu certo

    meu comando ficou assim:

     tblwriandamentos.Observacao like '%Cancelado por decurso de prazo Realizado em:' + CONVERT(varchar(10), GETDATE()) + '%'

    mas na tabela eu tenho exatamente essa informação:

    Cancelado por decurso de prazo Realizado em Mar 7 201

    E tenho mais de 300 registros no dia de hoje e nao trouxe nada.


    • Editado J.Carlos.Rib quinta-feira, 7 de março de 2013 11:31 acres
    quinta-feira, 7 de março de 2013 11:27
  • J.Carlos,

    Perceba que o comando que vc disse que colocou ficou assim:

    tblwriandamentos.Observacao like '%Cancelado por decurso de prazo Realizado em:' + CONVERT(varchar(10), GETDATE()) + '%'

    E o registro que vc tem está da seguinte forma:

    Cancelado por decurso de prazo Realizado em Mar 7 201

    No seu WHERE vc está colocando um ":" (dois pontos) depois do "em", porém no que vc diz que seu registro está, não existe esses dois pontos, qual é o correto? Verifique tb espaçamento, existe espaço depois do "em" ?? Se existe, coloque na pesquisa do WHERE tb.


    Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta J.Carlos.Rib quinta-feira, 7 de março de 2013 12:06
    quinta-feira, 7 de março de 2013 11:42
  • Além da observação do fb_Dev, tem o espaço logo depois do ":", que você não colocou e existe no registro.

    Eu faria isso aqui, para garantir:

    tblwriandamentos.Observacao like '%Cancelado por decurso de prazo Realizado%' + CONVERT(varchar(10), GETDATE()) + '%'

    Lembrando que essa pesquisa não faz utilização de qualquer índice existente, uma vez que você está usando um '%' no começo, o que vai causar um table scan...

    Espero te ajudado.

    • Marcado como Resposta J.Carlos.Rib quinta-feira, 7 de março de 2013 12:05
    quinta-feira, 7 de março de 2013 11:54