SQL Server เทียบเท่ากับ MySQL ตอนนี้ ()?


197

ฉันเป็นคน MySQL ที่ทำงานในโครงการ SQL Server พยายามรับฟิลด์ datetime เพื่อแสดงเวลาปัจจุบัน ใน MySQL ฉันใช้ตอนนี้ () แต่ก็ไม่ยอมรับ

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

คำตอบ:



74
getdate() 

เทียบเท่าโดยตรงแต่คุณควรใช้ชุดข้อมูล UTC เสมอ

getutcdate()

แอพของคุณทำงานในเขตเวลาหรือไม่ - ไม่เช่นนั้นคุณมีความเสี่ยงในการคำนวณคณิตศาสตร์ในช่วงฤดูใบไม้ผลิ / ฤดูใบไม้ร่วง



24

นอกจากนี้คุณยังสามารถใช้CURRENT_TIMESTAMPหากคุณรู้สึกว่าเป็น ANSI ที่สอดคล้องกันมากขึ้น (แม้ว่าคุณจะย้ายรหัสระหว่างผู้ขายฐานข้อมูลก็ตาม มันเหมือนกับที่GetDate()อยู่ใต้ผ้าห่ม (ดูคำถามนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนั้น)

ไม่มี ANSI ที่เทียบเท่ากันGetUTCDate()แต่น่าจะเป็นสิ่งที่คุณควรใช้หากแอปของคุณทำงานในโซนเวลาเดียวมากกว่า ...


5
ฉันชอบCURRENT_TIMESTAMPเพราะมันใช้งานได้ใน MySQL, SQL Server, Oracle ... อย่างที่คุณบอกว่ามันเป็นสิ่งที่เรากังวลน้อยที่สุด แต่ก็ช่วยได้เสมอ
ÁlvaroGonzález
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.