Jump to content


Photo

Formatar Data Sql Server


  • Faça o login para participar
12 replies to this topic

#1 Noturno

Noturno

    12 Horas

  • Usuários
  • 183 posts
  • Sexo:Não informado

Posted 27/10/2006, 14:21

Boa tarde a todos,

Estou com problemas para formatar a data passada pelo SQL Server no PHP.
A data é passada da seguinte forma
Jan 1 1900 12:00AM
Oct 27 2006 11:42AM

Eu tentei concatenar mas tive um problema pq como podem ver ele não assume zero a esquerda, eu usei essa função:

function converteData($data_sqlserver){
if ($data_sqlserver == "")
return "";

if (substr($data_sqlserver,0,3) == "Jan"){
$mes_sqlserver = "01";
};
if (substr($data_sqlserver,0,3) == "Feb"){
$mes_sqlserver = "02";
};
if (substr($data_sqlserver,0,3) == "Mar"){
$mes_sqlserver = "03";
};
if (substr($data_sqlserver,0,3) == "Apr"){
$mes_sqlserver = "04";
};
if (substr($data_sqlserver,0,3) == "May"){
$mes_sqlserver = "05";
};
if (substr($data_sqlserver,0,3) == "Jun"){
$mes_sqlserver = "06";
};
if (substr($data_sqlserver,0,3) == "Jul"){
$mes_sqlserver = "07";
};
if (substr($data_sqlserver,0,3) == "Aug"){
$mes_sqlserver = "08";
};
if (substr($data_sqlserver,0,3) == "Sep"){
$mes_sqlserver = "09";
};
if (substr($data_sqlserver,0,3) == "Oct"){
$mes_sqlserver = "10";
};
if (substr($data_sqlserver,0,3) == "Nov"){
$mes_sqlserver = "11";
};
if (substr($data_sqlserver,0,3) == "Dec"){
$mes_sqlserver = "12";
};


$dataConvertida = substr($data_sqlserver,4,2)."/$mes_sqlserver/".substr($data_sqlserver,7,4);
return $dataConvertida;


Na primeira Data ele me retorna assim:
1 /01/900

Na segunda retornar certinho:
27/10/2006

Qro printar dd/MM/yyyy

Uso SQL Server 2000.

Obrigado.

Resolvi concatenando a data no próprio SQL Server, mas não qro isso, é mto ruim, gambiarra... se alguém souber outro jeito, agradeço
		CONVERT(VARCHAR(2), DAY(DATACOLETA)) + '.'"/"'.' + CONVERT(VARCHAR(2),MONTH(DATACOLETA)) + '.'"/"'.' + CONVERT(VARCHAR(4), YEAR(DATACOLETA)) as DATA_COLETA,

"Não há maior demonstração de insanidade do q fazer a mesma coisa, da mesma forma, dia após dia, e esperar resultados diferentes"
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP

#2 Noturno

Noturno

    12 Horas

  • Usuários
  • 183 posts
  • Sexo:Não informado

Posted 30/10/2006, 09:17

A quem transferiu esse tópico por favor mande novamente para PHP, pois esse não é um problema do SQL Server. E sim erro de conversão do PHP, em diversas outras linguagens existem funções para conversão.

Obrigado
"Não há maior demonstração de insanidade do q fazer a mesma coisa, da mesma forma, dia após dia, e esperar resultados diferentes"
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP

#3 Tarkan

Tarkan

    Powered by Linux - Que inglês! ;)

  • Ex-Admins
  • 651 posts
  • Sexo:Masculino
  • Localidade:Copacabana - RJ

Posted 30/10/2006, 12:47

Então, cara... Refiz sua função aqui. Fiz também uma outra, beleza?
Sendo que a que eu fiz (a primeira que estarei postando), está utilizando funções nativas do PHP. Uma das funções, passa a data de string pra timestamp, o que dá um erro quando coloca uma data com ano inferior a 1970, no caso...

Experimente, veja se elas se adequam ao seu sistema.

Abraços, qualquer coisa volte a postar.

:D

function converteData($data_sqlserver)
{
if ($data_sqlserver == "")
return "";

$dtTimeStamp = strtotime($data_sqlserver);
$dataConvertida = date('d/m/Y', $dtTimeStamp);

return $dataConvertida;
}

function converteData($data_sqlserver){
$mes_sqlserver = "";

if ($data_sqlserver == "")
{
return "";
}
else
{
$splDataSqlServer = explode(" ", $data_sqlserver);

$mes = $splDataSqlServer[0];
$dia = $splDataSqlServer[1];
$ano = $splDataSqlServer[2];

switch($mes)
{
case "Jan":
$mes_sqlserver = "01";
break;

case "Feb":
$mes_sqlserver = "02";
break;

case "Mar":
$mes_sqlserver = "03";
break;

case "Apr":
$mes_sqlserver = "04";
break;

case "May":
$mes_sqlserver = "05";
break;

case "Jun":
$mes_sqlserver = "06";
break;

case "Jul":
$mes_sqlserver = "07";
break;

case "Aug":
$mes_sqlserver = "08";
break;

case "Sep":
$mes_sqlserver = "09";
break;

case "Oct":
$mes_sqlserver = "10";
break;

case "Nov":
$mes_sqlserver = "11";
break;

case "Dec":
$mes_sqlserver = "12";
break;
}


$dataConvertida = ($dia."/".$mes_sqlserver."/".$ano);
return $dataConvertida;
}
}


' nome: gustavo veiga
' profissão: ALOG Data Centers do Brasil (analista de sistemas)
' publicidade: ALOG Data Centers do Brasil

#4 lucasmp

lucasmp

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 06/10/2009, 10:02

As três linhas de php resolveram meu problema que era exatamente igual o seu... Vou deixar claro que não sei quase nada de php e que comecei a utilizar a 2 semanas atrás, portanto se alguém puder complementar este post e explicar de forma mais correta as minhas suposições, por favor, fiquem à vontade!

Meu cenário era o seguinte:
Existe um programa que pega dados do chão de fábrica e joga em uma tabela dentro de um database no SQL Server 2005 no formato d/m/y com a coluna definida como smalldatetime - esse foi o primeiro passo: toda coluna que tiver data e hora deve ser formatada como tal para futuras operações. O programa que insere os dados, envia uma string como data, porém o SQL Server faz a transformação dos tipo para que seja aceito na coluna automaticamente.
Quando executava o select, a data na coluna vinha como: Oct 5 2009 12:00AM. Quando abria a table no SQL Management Studio Express, a data estava 10/05/2009 00:00:00. Descobri (não sei se é verdade) que o SQL Server grava sempre a data no formato m/d/y e com a hora junto, portanto não tinha como mudar o insert. No meu caso, a hora estava 00:00:00 porque o programa enviava apenas a data. Uma série de funções que ví para tratar os dados da coluna "data" não funcionavam porque meu drive era mssql e não mysql (concluí isso, também não sei se está certo). Precisava da data no formato d/m/y e fiz o código abaixo que funcionou muito bem:

<?php
include("conexao.php");
$consulta=mssql_query("Select Data,Hora,Maquina,Fornecedor,Lote,Qtde_Info,Qtde_Contada,Desvio, Round(Rendimento,2) as Rendimento from CTD order by ID desc");

$linhas=mssql_num_rows($consulta);

for($i=0; $i<$linhas; $i++){
//tratamento do horário para indicação d/m/y
$dataliteral=mssql_result($consulta,$i,"Data"); //guarda resultado da pesquisa "consulta" da linha "i", coluna data na variavel "dataliteral"
$datanumeral=date("d/m/y",strtotime($dataliteral)); //transforma dataliteral em data numerica, porém continua em m/d/y
$data=date('d/m/y',strtotime($datanumeral)); //formata datanumeral para d/m/y
//restante das colunas
.
.
.
echo ("
<tr>
<td>$data</td>
<td>$hora</td>
.
.
.
?>


Acima concluí que, apesar de ter formatado a data da forma literal para numérica, ainda assim continuava vindo m/d/y. Aí tentei usar o mesmo comando para formatar novamente e deu certo.

#5 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 22/09/2017, 10:22

Viagra Usa Pharmacy cialis price Worldwide Fluoxetine For Sale Visa Shop
Buy Propecia In The Usa Order now isotretinoin
Viagra E Cialis Prezzo <a href=http://cialtobuy.com>cialis</a> Ampicillin Amoxicillin For Pets
Amoxicillin And Lyme Disease cialis Generic Secure Ordering Zentel Website Shipped Ups Wells Cialis Longue Duree On Line Zentel Low Price Where To Buy Levitra Without Prescription cialis Levitra On Line Generico
Compra De Viagra En Madrid cheap cialis Wirkung Viagra Lange
Cialis Online Buy
Viamedic Scam <a href=http://cialtobuy.com>cialis</a> Acticin Scabies

#6 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 07/10/2017, 03:55

Online Amoxil Was Ist Viagra Fur Manner Amoxicillin Contradictions online pharmacy Discount Zentel Ups In Internet Quick Shipping Price Kirklees Levitra Preise Deutschland
Precio Proscar Propecia Kamagra PiРÑвâžâ Economico Healthy Man Viagra buy viagra online Cialis Kaufen Billig Cipro 500mg Tab Price Priligy Auf Kassenrezept
Order Shipped Ups Dutasteride Tridesun Free Doctor Consultation Milan Effetti Cialis E Cocaina Cost Of Propecia buy viagra online Cialis 20mg Filmtabletten Einnahme Elocon Asmanex No Doctors Consult Mastercard Accepted

#7 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 13822 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 11/10/2017, 16:54

Viagra Super Active Plus Review Kamagra Donne cialis online Fausse Couche Curetage Ou Medicament

#8 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 13/10/2017, 06:57

Amazon Propranolol viagra Amitriptyline Overnight No Rx

#9 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 21/10/2017, 00:19

Cheap Peroxicam Acquistare Cialis Generico Precio Cialis Andorra viagra prescription Buying Amoxicillin Online
Contraindicaciones Cialis buy levitra from canada no rx Levitra Consult Viagra Ingredientes
Pdr Keflex Cialis Madrid Entrega En Mano buy viagra online Cialis Media Pastilla Viagra Suppliers Uk
Can I Get Lithium Over The Counter On Line Dutasteride Best Website Fort Worth cialis Zithromax Against Chlamydia Canadian Pharmacy Brought By Echeck Purchase Prednisone W Not Prescription

#10 hapedlok

hapedlok

    Ativo

  • Usuários
  • 313 posts
  • Sexo:Feminino
  • Localidade:Brisbane

Posted 01/11/2017, 03:30

Discounts! new skin products 2017

progect13.jpg
Products which fall under this return policy can be returned domestically, as long as they are unused and in the original packaging. No questions asked!
If a product that falls under this guarantee is found to be counterfeit, you will get a full refund (shipping costs included).

buy.png

READ MORE
True amaryllis bulbs,hippeastrum flowers,hippeastrum bulbs,bonsai flower bulbs,Barbados Lily potted home garden plant -2 bulb ( 2.60 $)
HUAJUN U - FLY W606 - 3 5.8G FPV 2 Mega Camera 2.4G 4 Channel 6-axis Gyro Quadcopter-132.89 $
Solid Green Extra-Long Tie ( 56.00 $)
Iosandrois app set quad 4 band wireless home gsm pstn security burglar voice alarm smoke detector light strobe siren sensor ( 117.79 $)
Original SIM Card + Micro SD & USB Charging Slot Port Dust Plug Block sets Cover For Sony Xperia Z3 Compact Z3c mini D5803 D5833 ( 3.50 $)
Ulechu ya daleko (Rodina)
New brand ski helmet ultralight and integrally-molded professional snowboard helmet men skatingskateboard helmet multi color ( 29.99 $)
Sexy gold rhinestone heels handmade women platforms bridal wedding shoes evening party prom high heel new bridesmaid shoes ( 113.40 $)
TenFifteen Q7SE Smartwatch Phone-35.53 $
A LA Magic Lamp 3 in 1 High Performance Night Light Alarm Clock Wireless Bluetooth Speaker Built — in Lithium Battery with Remote Control for Mobile Phone Computer-56.53 $
Stylish fashion rhinestone ribbon lace up necklace for women ( 6.49 $)
Brief stripe design spaghetti strap one-piece women's swimwear ( 19.57 $)
Signature double face wool blend mens scarf ( 66.86 $) Roberto Cavalli
Sajonara (film)
5m Retractable Pet Leash Lead ( $6.59 )


100.png

#11 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 02/11/2017, 17:34

Viagra Eyaculacion Amoxicillin No Rx viagra online prescription Std Medications Online
Provera Internet C.O.D. Store Saturday Delivery viagra online Cheap Tadifil Cialis 20 Mg Duree Propecia Low Dose
Propecia Critica cialis Buy Revatio Online
Generic Isotretinoin Internet Website Fincar 5mg Comparaison Cialis Levitra viagra online pharmacy Viagra Eqivalent Herbal Tablets Propecia Wirkstoff

#12 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 21/11/2017, 10:48

Is There A Way To Get Avanafil Cheaper Cialis Viagra Comparativa Cialis 36 Ore buy vardenafil 40 mg malaysia Priligy Approuve Par La Fda
Cialis Forum Cialis Pharmacy viagra Legally Shipped Ups Stendra Medicine Visa Accepted Overseas Viagra E Effetti Collaterali

#13 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 13822 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 27/11/2017, 10:00

Acheter Levitra Par Internet viagra Cialis One Day Come Terapia




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq