Para obtener la fecha y la hora actuales:
SELECT getdate();
Y tenemos un valor datetime: 2018-09-01 11:50:05.627
Del valor datetime anterior, se quiere extraer el valor de la fecha solamente y ocultar el valor de la hora. Hay varias maneras de hacerlo:
1. Utilice CONVERT a VARCHAR:
Sintaxis de CONVERT:
CONVERT ( data_type , expression )
En este caso, la fecha sólo, que vamos a ejecutar esta consulta:
SELECT CONVERT(VARCHAR(10), getdate(), 111);
Se devuelve 2018/09/01
para mi prueba.
El estilo que hemos utilizado ahora es 111, que es aaaa/mm/dd. Hay muchos otros estilos que puedes elegir. Here are some common types:
Style | How it’s displayed |
---|---|
101 | mm/dd/yyyy |
102 | yyyy.mm.dd |
103 | dd/mm/yyyy |
104 | dd.mm.yyyy |
105 | dd-mm-yyyy |
110 | mm-dd-yyyy |
111 | yyyy/mm/dd |
106 | dd mon yyyy |
107 | Mon dd, yyyy |
Porque cada tipo genera una longitud diferente, por lo que debe definir la longitud varchar correcta entonces.
2. También puede convertir a fecha:
SELECT CONVERT(date, getdate());
Devolverá el valor de la fecha actual junto con el valor inicial de la hora. Por ejemplo, el resultado para mi caso es:
Sep 1 2018 12:00:00:AM
Para versiones anteriores a la de SQL Server 2008, deberías usar esto en su lugar:
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()));
Y devuelve el mismo resultado.
3. Utilice CAST
Sintaxis de CAST:
CAST ( expression AS data_type )
Para el ejemplo anterior, puede utilizar:
SELECT CAST(getdate() AS date);
O puede convertirlo en varchar:
SELECT CAST(getdate() AS varchar(10));
¿Necesita una buena herramienta GUI para MS SQL Server? Pruebe TablePlus, una herramienta moderna y nativa para múltiples bases de datos, incluyendo SQL Server, MySQL, PostgreSQL, SQLite, etc. Y es de uso gratuito durante todo el tiempo que necesite.
Descargue TablePlus para Mac.
¿No tiene Mac? Descargue TablePlus para Windows.
¿En Linux? Descargue TablePlus para Linux
¿Necesita una edición rápida sobre la marcha? Descargue TablePlus para iOS