Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FabianoSouza

Usando CONVERT e DATEADD com WHERE

Recommended Posts

No WHERE, preciso subtrair 1 mês da data e convertendo para o padrão PTBR.

Mas está ocorrendo erro

 

...WHERE
CONVERT(VARCHAR(10), MONTH (DatasDataInicio), 103) =  CONVERT(VARCHAR(10), DATEADD(M,-1,MONTH('27/07/2017')), 103) 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso funcionou

 

... WHERE 
MONTH(CONVERT(DATETIME, (DatasDataInicio), 103)) =  CONVERT(VARCHAR(10), MONTH(DATEADD(MONTH, -1, CONVERT(DATETIME, '28/07/2017', 103))), 103)"

Resolvido!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por osmarindy
      Boa noite Pessoal.
      Estou com o seguinte problema. Tenho duas tabelas principais "tblProjeto" e "tblItensProjeto", tenho que selecionar o projeto (tblProjeto) cujo o item 19 (tblItensProjeto) já esteja concluído (status 5) e que o item 15 (tblItensProjeto) não esteja concluído (status 5) e nem cancelado (status 4).
      Tenho o seguinte código:
      SELECT p.nmProjeto, l.nmLocalidade, f.usuario, r.nmRequisitante, p.dtSolicitacao,p.dtPrevisaoEntrega, s.nmStatus FROM tblProjeto as p inner join tblItensProjeto as i on i.idProjeto = p.idProjeto inner join tblLocalidade as l on l.idLocalidade = p.idLocalidade inner join tblFuncionario as f on f.idFuncionario = p.idFuncionario inner join tblRequisitante as r on r.idRequisitante = p.idRequisitante inner join tblStatusProj as s on s.idStatus = i.idStatus where (i.idAtividade = 19 and i.idStatus= 5 ) and (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4))
      Se executo um  filtro de cada vez (where i.idAtividade = 19 and i.idStatus= 5 ) ou (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4)) eles trazem resultados, mas quando deixo os dois filtros não funciona.
      Possuo 5 projetos que estão com a atividade 19 concluída e atividade 15 pendente. mas, não consigo com esse select trazer a informação. Alguém sabe como posso resolver?
    • Por SAS Junior
      Olá, sou novo aqui e em SQL Server, estou com um problema para buscar um resultado. 
      Caso hoje seja segunda, trazer as instalações dos últimos 3 dias (sexta, sábado e domingo), caso não seja, trazer só os de ontem, tentei da forma abaixo e muitas outras e não consegui, desde já agradeço.    
      SELECT codigoCliente AS [CÓD], CpfCnpj AS [CPF/CNPJ] ,NomeFantasia as [NOME FANTASIA] ,UPPER(NomeContato) as [NOME DE CONTATO] ,CASE WHEN CLI.DDDCelular IS NULL THEN 'NÃO TEM' ELSE DDDCelular END AS [DDD CEL] ,CASE WHEN Celular IS NULL THEN 'NÃO TEM' ELSE Celular END AS CELULAR ,CASE WHEN DDDTelefone IS NULL THEN 'NÃO TEM' ELSE DDDTelefone END AS [DDD TEL] ,CASE WHEN Telefone IS NULL THEN 'NÃO TEM' ELSE Telefone END AS TELEFONE ,DataInstalacao AS [INSTALAÇÃO] ,DATEPART(weekday,DataInstalacao) as [DIASEMANA] ,UPPER(Departamento) AS [DEPTO CAD] ,upper(UsuarioCadastro) as [CADASTRADO POR] ,CASE WHEN UPPER(EMAIL) IS NULL THEN 'NÃO TEM EMAIL' ELSE UPPER(EMAIL) END AS EMAIL FROM CLIENTE WHERE (CASE WHEN (DATEPART(weekday,GETDATE()) = '2' THEN DATEPART(DAY, DataInstalacao) >= DATEPART(DAY, GETDATE()-3) ELSE DATEPART(DAY, DataInstalacao) = DATEPART(DAY, GETDATE()-1) END) AND MONTH(DataInstalacao) = MONTH(GETDATE()) AND YEAR(DataInstalacao) = YEAR(GETDATE()) AND Situacao = 'MAQUINA INSTALADA'  
    • Por peterstefan
      Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0,  mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
      preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0 
       
      SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';  
    • Por FabianoSouza
      Quero fazer um select que me permita escolher em qual coluna a pesquisa deverá ocorrer.
      Na minha cabeça a coisa deveria ser com essa lógica:
       
      DECLARE 
      @strPesquisa varchar(60)
      , @colunaPesquisa varchar(60)
       
      SET @colunaPesquisa = 'nome'
      SET @strPesquisa = 'Al Pacino'
       
      SELECT * FROM minhaTabela WHERE
      @colunaPesquisa LIKE '%'+ @strPesquisa +'%'
       
      Claro que essa sintaxe não funciona. Mas a lógica seria essa.
       
      Com crio isso?
       
      Grato.
    • Por @MF
      Boa tarde.
       
      Tenho um banco de dados que possui datas criadas no tipo numeric e não estou conseguindo convertê-las para tipo data.
       
      Utilizei
      SELECT var_string_1, CONVERT(date,CONVERT(VARCHAR,var_data_1),103) AS data_1, CONVERT(date,CONVERT(VARCHAR,var_data_2),103) AS data_2, CONVERT(date,CONVERT(VARCHAR,var_data_3),103) AS data_3, CONVERT(date,CONVERT(VARCHAR,var_data_4),103) AS data_4 FROM minha_tabela
       
      O erro que aparece é Conversion failed when converting date and/or time from character string.
       
      Alguém que possa ajudar por favor?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.