Ir para conteúdo

POWERED BY:

Arquivado

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

rafa-martin

converter data para formato sql

Recommended Posts

pessoal tenho a seguinte função:

 

Function FormataDataSQL(pData)
		
	' --- YYYY-MM-DD
	
	pData = trim(pData)


		

	'response.write len(pData) & "-" & pData
	'response.end


	if len(pData) = 8 then
	   dia = mid(pdata,1,2)
	   if InStr(1,dia,"/",1) > 0 then
			 pData = "0" & pData
		 dia = "0"	& Mid(dia, 1 ,1)
	   end if
	end if




	
	if len(pData) = 9 then
	
	   mes = mid(pdata,4,2)

	   if InStr(1,mes,"/",1) > 0 then
			  pData = dia & "/0" & mid(pData,4,6)
	   end if
	end if



	if len(trim(pData)) > 0 then
		if len(trim(pData)) = 19 then
			FormataDataSQL = pData
		else
			FormataDataSQL = right(Year(pData),4) & "-" & mid(pData,4,2) & "-" & left(pData,2)
		end if
	else
		FormataDataSQL = ""
	end if


	
	
End Function

essa função converte para o formato sql.

 

porém da data está vindo assim: /07/2008, sem o dia pq?

Compartilhar este post


Link para o post
Compartilhar em outros sites

if len(pData) = 8 then

dia = mid(pdata,1,2)

 

if len(pData) = 9 then

mes = mid(pdata,4,2)

não entendi porque você está verificando se o tamanho da data é igual a 8 e faz só o dia, e se o tamanho da data é 9 você faz só o mês.

 

tu tá passando uma data com 9 dígitos, por isso que não entra no primeiro IF

se você passar uma data com 8 dígitos, vai vir sem o mês

 

 

captou o problema????

Compartilhar este post


Link para o post
Compartilhar em outros sites

então mais o dia está vindo vazio.

 

eu quero q a função me retorne a seguinte data: 2008-07-14

 

e quando for apenas um digito a data, me retorne 2008-07-01

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é que você só atribui o valor da data a variável pData dentro do primeiro IF

dia = mid(pdata,1,2)

e o tamanho da data que foi passada for 9 ele nunca passará por aí e o dia vai ficar zerado mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei aqui e funcionou normal.

 

Como você está informando a data?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui rafa!

 

<%
Function ConverterDataBanco(ConDataBanco)
		ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)
		ConverterDataBanco = ConDataBanco
End Function
Response.Write(ConverterDataBanco(Date()))
%>

http://tedk.com.br/blog/index.php/2008/03/...ver-oracle-etc/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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