Convertir un String de formato DD/MM/AAAA a formato fecha AAAAMMDD
Tenemos un String «15/1/2023» y se requiere:
- Convertir a formato fecha
- Tener el formato YYYYMMDD, con el que se pueda trabajar sin problemas en las consultas SQL.
SQL
declare @xlsx01 varchar(20)
, @fld_fec_pag datetime
-- Asingo fecha formato DD/MM/AAAA
select @xlsx01 = '15/01/2023'
--Parejo a formato fecha DDMMAAAA
Select @xlsx01 = convert(varchar,isnull(ltrim(rtrim(@xlsx01)),'01011900'),103)
-- Convierto a datetime y la almaceno en una variable datetime.
-- Formato : YYYYMMDD
select @fld_fec_pag = convert(datetime,@xlsx01,103)
select @fld_fec_pag
Extraer Dia, mes y año de una fecha
A través del siguiente código SQL, podemos obtener de un forma rápida el día, mes y año por separado de una fecha especifica o del sistema.
SQL
Declare @Fecha Datetime,
@Dia Varchar(2),
@Mes Varchar(12),
@Ano Varchar(4)
--Guardamos en variable el día de hoy
Set @Fecha = Getdate()
--Establecemos idioma para retornar el formato de la fecha - para este caso español
Set Language spanish
--Retornamos el dia, mes y año de la fecha
Set @Dia = Datepart(dd,convert(datetime,@Fecha,103))
Set @Mes = DateName(mm,convert(datetime,@Fecha,103))
Set @Ano = Datepart(yy,convert(datetime,@Fecha,103))
--Establecemos el lenguaje original
Set Language English
--Retornamos variables con los datos
Select @Dia Dia,@Mes Mes,@Ano Año
Si queremos consultar el lenguaje configurado en le servidor de base de datos, lo podemos conocer a través de la siguiente instrucción:
SQL
select @@LANGUAGE Lenguaje