Máy chủ SQL tương đương với NOW () của MySQL?


197

Tôi là một anh chàng MySQL làm việc trong dự án SQL Server, cố gắng lấy trường datetime để hiển thị thời gian hiện tại. Trong MySQL tôi sẽ sử dụng NOW () nhưng không chấp nhận điều đó.

INSERT INTO timelog (datetime_filed) VALUES (NOW())

Câu trả lời:



74
getdate() 

là tương đương trực tiếp, nhưng bạn phải luôn sử dụng dữ liệu UTC

getutcdate()

ứng dụng của bạn có hoạt động trên các múi giờ hay không - nếu không, bạn có nguy cơ làm hỏng toán ngày ở các chuyển đổi mùa xuân / mùa thu



24

Bạn cũng có thể sử dụng CURRENT_TIMESTAMP, nếu bạn cảm thấy muốn tuân thủ ANSI hơn (mặc dù nếu bạn chuyển mã giữa các nhà cung cấp cơ sở dữ liệu, đó sẽ là điều bạn lo lắng nhất). Nó chính xác giống như GetDate()dưới vỏ bọc (xem câu hỏi này để biết thêm về điều đó).

GetUTCDate()Tuy nhiên, không có ANSI tương đương , có lẽ là ứng dụng bạn nên sử dụng nếu ứng dụng của bạn hoạt động ở nhiều múi giờ ...


5
Tôi thích CURRENT_TIMESTAMPbởi vì nó hoạt động trong MySQL, SQL Server, Oracle ... Như bạn đã nói, đó là điều ít lo lắng nhất của chúng tôi nhưng nó luôn giúp ích.
Álvaro González
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.