Sé que hay muchas preguntas relacionadas con esto. Trato de encontrar mi respuesta pero no puedo encontrarla.

Cuando escribo SELECT CONVERT(date, getdate()) from tblBlogs

Esta consulta me da un resultado como este 2018-09-10

Pero quiero 10, September, 2018

Espero que alguien me ayude

2
Minhaj Patel 10 sep. 2018 a las 09:57

4 respuestas

La mejor respuesta

Si su versión del servidor SQL es superior a 2012, puede intentar usar FORMAT para hacerlo.

SELECT FORMAT(getdate(),'dd,MMMM,yyy')

sqlfiddle


O puede usar la función DATENAME para obtener el nombre como resultado esperado.

SELECT DATENAME(day,Getdate())+','+DATENAME(month,Getdate())+','+DATENAME(year,Getdate())

sqlfiddle

Resultado

10,September,2018
4
D-Shih 10 sep. 2018 a las 07:07

Intenta usar FORMAT

Puedes especificar tu formato de fecha lo que quieras

SELECT FORMAT(getdate(),'dd,MMMM,yyy') from tblBlogs;
0
Bhargav Chudasama 10 sep. 2018 a las 07:09

Personalmente trato de evitar FORMAT, puede ser muy lento cuando se aplica contra un conjunto de datos. Otro método sería usar DATENAME:

DATE NAME(DAY,GET DATE()) +', ' + DATENAME(MONTH,GETDATE()) + ', ' + DATENAME(YEAR,GETDATE())

Sin embargo, si se trata del formato de visualización, a menudo es mejor hacerlo en su capa de presentación, en lugar de en el DBMS.

0
Larnu 10 sep. 2018 a las 07:13

Si su SQL Server no admite la función FORMAT

SELECT CAST(DAY(@DateTime) AS VARCHAR) + ', ' + DATENAME(MONTH, @DateTime) + ', ' + CAST(YEAR(@DateTime) AS VARCHAR)
0
Praloy Das 10 sep. 2018 a las 07:31