Jump to content
@MF

Conversão de data no SQL Server 2008

Recommended Posts

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?

Share this post


Link to post
Share on other sites

Tem um exemplo de como esta o campo? inteiro como? 108050 ?

 

Pode tentar converter assim

https://adjuniordba.wordpress.com/2014/01/30/calculo-simples-de-data/

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By mamotinho
      Olá, gostaria de sabe como posso fazer uma contagem regressiva apartir de um registro em meu banco de dados eu tentei montar um código da seguinte forma:

       
      <? $DateGET = date('m/d/Y H:i A', strtotime($result->DateDiscount)); ?> <script> var valueDate = <?=$DateGET?>; var end = new Date(valueDate); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById("countdown").innerHTML = "EXPIRED!"; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById("countdown").innerHTML = "<span class='n_date day' id='days'>" + days + "</span><span class='date'>일</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time hour' id='hrs'>" + hours + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time minute' id='minus'>" + minutes + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time second' id='secs'>" + seconds + "</span>"; } timer = setInterval(showRemaining, 1000); </script> Mais infelizmente não passou a data registrada no banco de dados, alguém teria ideia de como posso ta fazendo.
    • By Alberto Nascimento
      Como faço para inserir data e horário no campo abaixo?
       
      <input name="horarioatual" id="horarioatual" style="width: 366px" type="text" />  
      Quando utilizava no PHP 5.3 funcionava com "echo", porém agora não esta mais quando estou utilizando o PHP 5.6
       
      <?php echo "$date"; ?>  
    • By lucianfpaula
      Olá bom dia, estou com um problema, eu estou tentando fazer um select que me retorne dados de uma tabela com data igual a data do dia ou maior mas não estou conseguindo, só consigo trazer datas maiores que a do dia, mas datas igual ao dia não consigo, estou usando o seguinte select
      SELECT * FROM tabela WHERE id = 1 AND dataTermino >= NOW()
       
      Não sei se tem a ver com a data do servidor 
    • By Kefatif
      Prezados, bom dia…
       
      Preciso da ajuda dos Srs…
       
      Pois quando filtro por janeiro ao invés de me trazer somente os produtos que venceram em janeiro acaba me trazendo de todos os outros meses incluindo o de janeiro.
       
      Segue o meu código abaixo:
       
      <?php if (isset($_POST['pesquisar'])) { $ano = $_POST["ano"]; $mes = $_POST["mes"]; $unid = $_POST["unid"]; $tipoitem = $_POST["tipoitem"]; $item = $_POST["item"]; if (isset($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and isset($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and empty($_POST["ano"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and isset($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } elseif (isset($_POST["unid"]) and empty($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.CNES LIKE '%".$unid."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["unid"]) and isset($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["unid"]) and isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } elseif (isset($_POST["tipoitem"]) and empty($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } elseif (isset($_POST["item"]) and empty($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } //caso a consulta apresente falha, exibe mensagem de erro if (!$sql) { echo "<script>alert('Não foi possível executar a consulta: %s\n".$mysqli->error."');</script>"; exit; } $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) > 0) { if (empty($_POST["ano"])){ $ano = "TODOS"; } if (empty($_POST["mes"])){ $mes = "TODOS"; } if (empty($_POST["unid"])){ $unid = "TODOS"; } if (empty($_POST["tipoitem"])){ $tipoitem = "TODOS"; } if (empty($_POST["item"])){ $item = "TODOS"; } if ($_POST["mes"] == "01") { $mes = "Janeiro"; } if ($_POST["mes"] == "02") { $mes = "Fevereiro"; } if ($_POST["mes"] == "03") { $mes = "Março"; } if ($_POST["mes"] == "04") { $mes = "Abril"; } if ($_POST["mes"] == "05") { $mes = "Maio"; } if ($_POST["mes"] == "06") { $mes = "Junho"; } if ($_POST["mes"] == "07") { $mes = "Julho"; } if ($_POST["mes"] == "08") { $mes = "Agosto"; } if ($_POST["mes"] == "09") { $mes = "Setembro"; } if ($_POST["mes"] == "10") { $mes = "Outubro"; } if ($_POST["mes"] == "11") { $mes = "Novembro"; } if ($_POST["mes"] == "12") { $mes = "Dezembro"; } } echo '<div class="alert alert-info" role="alert">Exibindo resultados para os critérios: <br>ANO: '.$ano.' | MÊS: '.$mes.' | UNIDADE: '.$unid.' | TIPO DE ITEM: '.$tipoitem.' | ITEM: '.$item.'</div>'; if (mysqli_num_rows($result) > 0) { ?> <table class="table table-hover table-bordered" style="width: 100%;margin-top: 1%"> <tr style="background-color: #C1CDCD; color: black;"> <th>Data do<br>Registro</th> <th>Unidade</th> <th>Usuário que disponibilizou</th> <th>Tipo de Item</th> <th>Nome do Item</th> <th>Quantidade</th> <th>Lote</th> <th>Validade</th> <th>Valor</th> </tr> <?php while ($row = mysqli_fetch_array($result)){ foreach($row as $key => $values){ $row[$key]= utf8_encode($values); } $valor = $row["VALOR"]*$row["QTD"]; $valor = "R$ ".round($valor,2); ?> <tr style="background-color:white;"> <td><?php echo dataTela($row["DATA_REGISTRO"])?></td> <td><?php echo $row["NOME_UNIDADE"]?></td> <td><?php echo $row["NOME_USUARIO"]?></td> <td><?php echo $row["TIPO_ITEM"]?></td> <td><?php echo $row["ITEM"]?></td> <td><?php echo $row["QTD"]-$row["QTD_SAIDA"]?></td> <td><?php echo $row["LOTE"]?></td> <td><?php echo dataTela($row["VALIDADE"])?></td> <td><?php echo $valor?></td> </tr> <?php } ?> </table> <?php }else{ echo '<br><div class="alert alert-danger" role="alert">Atualmente não constam itens disponibilizados por outras unidades com estes critérios!</div>'; } } ?>  
    • By terra
      Olá,
       
      como faço para formatar a data abaixo
       
      08 de março de 2020, 15h
       
      para 
      Y-m-d H:i:s
       
      Valeu
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.