05/01/2009, 08:38
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años Puntos: 38 | |
Respuesta: Function para devolver la fecha en formato dd-MMM-yyyy Aunque este tipo de operaciones prefieron hacerlas en el front... (los lenguajes de programacion ya traen el soporte sin necesidad de hacer funciones extra).
Solo te falto incluir el tamano del varchar a regresar...(como no pusiste ninguno te lo toma como largo 1)
Código:
CREATE FUNCTION fn_FormatFecha (@Fecha datetime)
RETURNS varchar(23)
AS
BEGIN
DECLARE @Result varchar(23)
Select @Result = SubString(Convert(varchar(10),@Fecha,120),9,2) + '-' +
Case SubString(Convert(varchar(7),@Fecha,120),6,2) When '01' Then 'Ene' When '02' Then 'Feb' When '03' Then 'Mar' When '04' Then 'Abr' When '05' Then 'May' When '06' Then 'Jun' When '07' Then 'Jul' When '08' Then 'Ago' When '09' Then 'Sep' When '10' Then 'Oct' When '11' Then 'Nov' When '12' Then 'Dic' end + '-' +
Convert(varchar(4),@Fecha,120) + ' ' +
case SubString(Convert(varchar(20),@Fecha,120),12,2)
when '00' then '12'
when '13' then '01'
when '14' then '02'
when '15' then '03'
when '16' then '04'
when '17' then '05'
when '18' then '06'
when '19' then '07'
when '20' then '08'
when '21' then '09'
when '22' then '10'
when '23' then '11'
when '24' then '12' else
SubString(Convert(varchar(20),@Fecha,120),12,2) end
+ ':' + SubString(Convert(varchar(20),@Fecha,120),15,6)
+ ' ' + case SubString(Convert(varchar(20),@Fecha,120),12,2)
when '00' then 'AM'
when '13' then 'PM'
when '14' then 'PM'
when '15' then 'PM'
when '16' then 'PM'
when '17' then 'PM'
when '18' then 'PM'
when '19' then 'PM'
when '20' then 'PM'
when '21' then 'PM'
when '22' then 'PM'
when '23' then 'PM'
when '24' then 'PM' else 'AM' end
RETURN @Result
END
Saludos!
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |