2011-01-11 35 views
6

Tôi cần phần ngày từ ngày giờ. trong định dạng của "dd-mm-yyyy"Xóa thời gian khỏi máy chủ sql của DateTime 2005

Tôi đã thử follwoing

Query:

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

Output:

01/11/2011

Query

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

Output

2011-01-11 00:00:00.000

Query:

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

Output:

11-1-2011 tức là "d-m-yyyy"

tôi cần đầu ra ở định dạng "dd-mm-yyyy".

Trả lời

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

Hãy thử:

SELECT convert(varchar, getdate(), 105) 

More here.

+0

Cảm ơn Eumiro :) – Mike

3

Sử dụng chức năng CONVERT "hoạt động" nhưng chỉ khi bạn đang so sánh chuỗi với chuỗi. Để so sánh ngày hiệu quả, bạn thực sự cần phải giữ kiểu dữ liệu SMALLDATETIME được gõ mạnh vào cả hai bên của phương trình (tức là "="). Do đó, nhận xét 'apros' ở trên thực sự là câu trả lời hay nhất ở đây vì blog được đề cập có các công thức phù hợp để sử dụng để loại bỏ thành phần thời gian bằng cách "làm phẳng" nó đến nửa đêm (tức là 12:00:00) qua làm tròn và bất kỳ cột ngày nào trong SQL Server 2005 sẽ luôn luôn mặc định là 12:00:00 nếu ngày được đưa ra mà không có thời gian.

này làm việc cho tôi ...

select dateadd(day, datediff(day, '20000101', @date), '20000101') 
Các vấn đề liên quan