none
Como convertir en transact sql una fecha formato YMD a DMY RRS feed

Respuestas

  • Recuerda que las fechas en SQL Server no tienen formato sino las constantes literales que representan una fecha/tiempo y se provee para darle informacion a SQL Server de como interpretar la cadena. Es de mucha ayuda si el formato usado es independiente del lenguaje por defecto.

    Si revisas la funcion CONVERT en los BOL, te daras cuenta de los sgtes estilos:

    - 111 Japan yyyy/mm/dd

    - 103 British / French dd/mm/yyyy

    - 112 ISO ymd

    - 126 ISO8601 yyyy-mm-ddThh:mi:ss.mmm

    Los formatos 112 y 126 son muy usados y son independiente del lenguaje en uso.

    DECLARE @dt char(8) = '20180131';
    
    SELECT
    	@dt AS [@dt],
    	CONVERT(date, @dt, 112) AS dt_ymd,
    	CONVERT(CHAR(10), CONVERT(date, @dt, 112), 103) AS dt_dmy,
    	CONVERT(CHAR(10), CONVERT(date, @dt, 112), 111) AS dt_mdy;


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas




    miércoles, 31 de enero de 2018 13:28

Todas las respuestas

  • Hola,

    Originalmente, SQL solo se maneja con el formato universal americano que es YYYY/MM/DD.

    Aunque con la instrucción:

    Convert(varchar(10),"nombre de la columna",103) 

    Espero te sirva de ayuda.

    Saludos,


    Dave Castaneda. CCS - VENEZUELA.

    miércoles, 31 de enero de 2018 13:23
  • Recuerda que las fechas en SQL Server no tienen formato sino las constantes literales que representan una fecha/tiempo y se provee para darle informacion a SQL Server de como interpretar la cadena. Es de mucha ayuda si el formato usado es independiente del lenguaje por defecto.

    Si revisas la funcion CONVERT en los BOL, te daras cuenta de los sgtes estilos:

    - 111 Japan yyyy/mm/dd

    - 103 British / French dd/mm/yyyy

    - 112 ISO ymd

    - 126 ISO8601 yyyy-mm-ddThh:mi:ss.mmm

    Los formatos 112 y 126 son muy usados y son independiente del lenguaje en uso.

    DECLARE @dt char(8) = '20180131';
    
    SELECT
    	@dt AS [@dt],
    	CONVERT(date, @dt, 112) AS dt_ymd,
    	CONVERT(CHAR(10), CONVERT(date, @dt, 112), 103) AS dt_dmy,
    	CONVERT(CHAR(10), CONVERT(date, @dt, 112), 111) AS dt_mdy;


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas




    miércoles, 31 de enero de 2018 13:28