Ir para conteúdo
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por eiwes
      Olá a todos, amigos
       
      Estou bolando um sistema na qual o usuário pode "escolher" vários parâmetros, e por fim filtra-los.
       
      O que eu pensei (e o jeito mais fácil) foi assim:
       
      //exemplo apenas $a1 = SELECT * FROM TABELA1 WHERE COLUNA1 = 1 LIMIT 10; $a2 = SELECT * FROM TABELA 1 WHERE COLUNA1 = 2 LIMIT 10; $a3 = SELECT * FROM TABELA 1 WHERE COLUNA 1 = 3 LIMIT 10; foreach()... return $a1, $a2, $a3...  
      E por aí vai... Suponhamos que o mizeravi faça 30 filtros desse, meu servidor daria um delay MONSTRUOSO e ferraria tudo! (resumindo, cairia).
       
       
      Alguém me dá uma luz no fim do túnel? Uso PDO e OOP.
      Preciso muito de uma abertura na mente pra saber a possibilidade disso ser melhor ou até mesmo feito no próprio SQL.
       
       
    • Por leoteixeira2
      Ola pessoal, blz ??? 
       
      Galera estou com uma grande dificuldade para fazer uma consulta MYSQL. Preciso que retorne os produtos e o valor total da venda do mesmo para cada funcionario. Como a tabela a baixo:
       
      ESPECIFICACAO
      TOTAL_VENDAS_LUCAS
      TOTAL_VENDAS_LUIZ
      TOTAL_VENDAS_MARCELO
      PRECO_SC
      PRECO_PR
      CUSTO
      FANDANGOS
      3.5
      6.7
      7.0
      7.90
      8.50
      5.00
      COCA COLA
      5.6
      5.6
      8.0
      8.50
      8.70
      6.00
      ALCATRA
      12.4
      8.2
      6.4
      15.78
      14.47
      10.00
      CERVEJA
      44.8
      54.9
      5.3
      14.75
      10.64
      12.36
      BARALHO
      32.9
      5.0
      4.8
      5.74
      6.20
      4.20
       
      Porém não sei como que estrutura  varios WHERE na mesma consulta, porque são varios funcionarios(5). Tipo o código a baixo só me retorna os valores do funcionario Luiz Henrique. Minha duvida então é o seguinte, como que faço para ter o total_venda de cada funcionario em uma mesma consulta como na tabela acima.
      SELECT DISTINCT(especificacao), preco_sc, preco_pr, custo, SUM(venda_sc) + (venda_pr) as total_venda_luiz FROM pagamentos where funcionario=("Luiz Henrique") and (dia >='01' and dia <='31') and mes=('11') and ano=('2018') GROUP BY especificacao;  
      Alguem poderia me dar uma luz por favor ???? OBRIGADOOO
    • Por leoteixeira2
      Ola pessoal, blz ??? 
       
      Galera estou com uma grande dificuldade para fazer uma consulta MYSQL. Preciso que retorne os produtos e a quantidade venda do mesmo para cada funcionario. Como a tabela a baixo:
       
      ESPECIFICACAO
      TOTAL_VENDAS_LUCAS
      TOTAL_VENDAS_LUIZ
      TOTAL_VENDAS_MARCELO
      PRECO_SC
      PRECO_PR
      CUSTO
      FANDANGOS
      3.5
      6.7
      7.0
      7.90
      8.50
      5.00
      COCA COLA
      5.6
      5.6
      8.0
      8.50
      8.70
      6.00
      ALCATRA
      12.4
      8.2
      6.4
      15.78
      14.47
      10.00
      CERVEJA
      44.8
      54.9
      5.3
      14.75
      10.64
      12.36
      BARALHO
      32.9
      5.0
      4.8
      5.74
      6.20
      4.20
       
      Porém não sei como que estrutura  varios WHERE na mesma consulta, porque são varios funcionarios(5). Tipo o código a baixo só me retorna os valores do funcionario Luiz Henrique. Minha duvida então é o seguinte, como que faço para ter o total_venda de cada funcionario em uma mesma consulta como na tabela acima.
      SELECT DISTINCT(especificacao), preco_sc, preco_pr, custo, SUM(venda_sc) + (venda_pr) as total_venda_luiz FROM pagamentos where funcionario=("Luiz Henrique") and (dia >='01' and dia <='31') and mes=('11') and ano=('2018') GROUP BY especificacao;  
      Alguem poderia me dar uma luz por favor ???? OBRIGADOOO
    • Por teteuvec
      Prezados boa noite!
       
      Gostaria de ajuda com um problemas na pesquisa select do trecho abaixo. Devo estar errando na sintaxe.
       
      O erro que retorna é Unknown column 'link_record' in 'where clause', porém esta coluna existe!
       
      <td bgcolor="#F5F5F5"><?php $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = '1' order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($data2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$data2["name"]."</br>"; echo "CPF/CNPJ: ".$data2["cpf_cnpj"]."</br>"; echo "e-mail: ".$data2["email"]."</br>"; echo "Celular: ".$data2["cellphone"]."</br>"; echo "Telefone: ".$data2["telephone"]."</br>"; echo "Documento de identificação: ".$data2["name"]."</br>"; echo "</br>"; }?> </td>  
    • Por asacap1000
      Galera preciso de uma ajuda, não sei mais nem como procurar a cabeça está dando nó kkkk.
      Tenho projeto que estará controlando o tempo de acesso no estabelecimento impondo um limite de 100 minutos.
      Dentro do mesmo dia estou conseguindo realizar os calculos normais, porém se o usuário entrar 23:00 ele terá que sair no máximo às 00:40.
      O horário eu consegui montar conforme o select abaixo a data mantém a mesma da entrada.
      select aces.seqreg SEQUENCIA, aces.diracc SENTIDO, aces.horacc MINUTOS, --acesso em minutos (aces.horacc + 100) LIMITE, --limite de acesso foi adicionado mais 100 minutos CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast(aces.horacc / 60 as varchar), 2) + ':' + right( '00' + cast(aces.horacc - ((aces.horacc / 60) * 60) as varchar), 2 ) AS HORA,--data e hora de entrada CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' + right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair Convert(Char(5),GetDate(),114) ATUAL from kansas.kansas.r070ara aces LEFT JOIN kansas.kansas.r090mvi mv on aces.numcra = mv.numcra and aces.numdoc = mv.numdoc where CONVERT(DATETIME, CONVERT(NVARCHAR(10), aces.datacc, 103), 103) >= CONVERT(DATETIME, '29/09/2018', 103) and CONVERT(DATETIME, CONVERT(VARCHAR(10), aces.datacc, 103), 103) <= CONVERT(DATETIME, '29/09/2018', 103) and (aces.coddsp like '1') and aces.numdoc = '325605397' order by aces.seqreg, aces.nompes, aces.coddsp O problema está nesta parte do select:
       
      CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' + right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair A parte de data ele não traz a data seguinte na imagem abaixo a saída deveria ser 30/09/2018 01:27
       

       
      Alguém poderia me dar uma força tenho que entregar essa semana este projeto no trabalho e está muito punk a bagaça...
       
×

Informação importante

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