2011-07-23 45 views
10

Tôi cần thời gian ngày hiện tại trong các định dạng YYYYMMDDHHMISSMISSQL Server: Làm thế nào để có được thời gian ngày hiện tại trong YYYYMMDDHHMISSMSS

Ví dụ:

20110723233747607 

Bằng việc sử dụng CURRENT_TIMESTAMP hoặc getdate() chức năng, chúng ta có thể lấy hiện tại datetime thành định dạng 2011-07-23 23:37:47.607. Nếu tôi sử dụng REPLACECONVERT chức năng để loại bỏ các "-" và ":" nhân vật, sau đó tôi nhận được giá trị vào

Jul 23 2011 11:37PM 

... định dạng. Nhưng tôi cần thời gian ngày hiện tại là 20110723233747607 để sử dụng nó cho mục đích khác của tôi.

truy vấn SQL của tôi là:

SELECT REPLACE(CONVERT(VARCHAR(20), CURRENT_TIMESTAMP),'.','') 

đầu ra: Jul 23 2011 11:37PM

Vậy làm thế nào tôi có thể có được thời gian ngày hiện tại trong định dạng yêu cầu của tôi? Xin giúp đỡ.

+2

Và bạn không bao giờ nghĩ thử thêm các hàm REPLACE cho bất kỳ ký tự nào khác mà bạn muốn xóa? –

Trả lời

13
select replace(
     replace(
     replace(
     replace(convert(varchar(23), getdate(), 121), 
     '-',''), 
     '.',''), 
     ' ',''), 
     ':','') 
1

Tôi không biết tại sao bạn cần phải sử dụng nhiều hàm REPLACE(). Việc sử dụng các hàm thực sự làm giảm thời gian thực hiện. Tôi đã sử dụng hai CONVERT và một hàm REPLACE bên dưới.

SELECT CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(12), GETDATE(), 114),':','') 
+0

Cảm ơn @bluefeet. Tôi vừa sửa nó – user007

Các vấn đề liên quan