2011-01-11 16 views
6

Necesito la fecha de la fecha. en el formato de "dd-mm-aaaa"Eliminar el tiempo del servidor de DateTime sql 2005

He tratado follwoing

Consulta:

select Convert(varchar(11), getdate(),101)

Salida:

01/11/2011

consultas

SELECT cast(floor(cast(GETDATE() as float)) as datetime)

salida

2011-01-11 00:00:00.000

Consulta:

SELECT 
    CONVERT(VARCHAR(MAX),DATENAME(DD,GETDATE())) + '-' + 
    CONVERT(VARCHAR(MAX),DATEPART(MONTH,GETDATE())) + '-' + 
    CONVERT(VARCHAR(MAX),DATENAME(YYYY,GETDATE())) ` 

de salida:

11-1-2011 es decir "d-m-aaaa"

I requiere la salida en formato "dd-mm-aaaa".

Respuesta

13
SELECT CONVERT(VARCHAR(10),GETDATE(),105) 
4

Probar:

SELECT convert(varchar, getdate(), 105) 

Más here.

+0

Gracias :) Eumiro – Mike

3

Uso de la función CONVERT "funciona", pero sólo si usted está comparando cadenas con cadenas. Para comparar las fechas de manera efectiva, realmente necesita mantener el tipo de datos SMALLDATETIME fuertemente tipado en ambos lados de la ecuación (es decir, "="). Por lo tanto, el comentario 'apros' anterior es realmente la mejor respuesta aquí porque el blog mencionado tiene las fórmulas correctas para usar para quitar el componente de tiempo "aplanándolo" hasta la medianoche (es decir, 12:00:00) mediante el redondeo y cualquier columna de fecha en SQL Server 2005 siempre será el predeterminado a 12:00:00 si la fecha se da sin tiempo.

Esto funcionó para mí ...

select dateadd(day, datediff(day, '20000101', @date), '20000101') 
Cuestiones relacionadas