Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Function date
venerdì 16 ottobre 2009 - 16.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gigio0000
Profilo
| Newbie
3
messaggi | Data Invio:
ven 16 ott 2009 - 16:17
Ciao a tutti!!
Ho un problema ho creato una function che mi mette le date da 6 caratteri a 8 caratteri adesso ho la necessità di inserire '/' in modo che le date mi vengono 01/01/2001 e vorrei che facesse tutto la function help me!!
questa è la function
declare @Anno varchar(2)
select @Anno = substring(@dataDiSei, 5, 2)
--return @Anno
return CASE
WHEN @Anno < '50'
THEN
CASE WHEN @Anno = ' '
THEN ''
ELSE substring(@dataDiSei, 1, 4) + '20' + @Anno
END
ELSE substring(@dataDiSei, 1, 4) + '19' + @Anno
END
end
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 16 ott 2009 - 22:06
>Ho un problema ho creato una function che mi mette le date da
>6 caratteri a 8 caratteri
Ciao Daniele,
Puoi postare l'intero comando di CREATE FUNCTION ed un paio di esempi di utilizzo con il risultato che vorresti ottenenre?
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Gigio0000
Profilo
| Newbie
3
messaggi | Data Invio:
lun 19 ott 2009 - 10:53
Buongiorno Lorenzo
io vorrei che la mia function oltre a trasforamre le date da 6 caratteri a 8 caratteri (es.(01012001)) deve mettere anche gli / come separatore (es.(01/01/2001)) questa la funzione che trasforma le date da 6 a 8 :
ALTER FUNCTION [dbo].[expandDate]
(@dataDiSei nvarchar(6))
RETURNS varchar(12)
AS
BEGIN
declare @Anno varchar(2)
select @Anno = substring(@dataDiSei, 5, 2)
--return @Anno
return CASE
WHEN @Anno < '50'
THEN
CASE WHEN @Anno = ' '
THEN ''
ELSE substring(@dataDiSei, 1, 4) + '20' + @Anno
END
ELSE substring(@dataDiSei, 1, 4) + '19' + @Anno
END
end
cosi mi restitutisce le date in questo modo 01012001
adesso vorrei che me le facesse diventare cosi 01/01/2001
spero di essere stato chiaro!!
Ciao daniele
Gigio0000
Profilo
| Newbie
3
messaggi | Data Invio:
lun 19 ott 2009 - 11:16
Ciao Lorenzo grazie!!!
ho risolto ecco la function che mi mette date formattate come volevo cioè in questo modo
(es(01/01/2001))
BEGIN
declare @Anno varchar(2)
select @Anno = substring(@dataDiSei, 5, 2)
--return @Anno
return CASE
WHEN @Anno < '50'
THEN
CASE WHEN @Anno = ' '
THEN ''
ELSE left(@dataDiSei ,2)+ '/'+ SUBSTRING(@dataDiSei,3,2)+ '/' + '20' + (substring(@dataDiSei, 5, 2))
END
ELSE left(@dataDiSei ,2)+ '/'+ SUBSTRING(@dataDiSei,3,2)+ '/' + '19' + (substring(@dataDiSei, 5, 2))
END
end
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !