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