Vấn đề:
Bạn muốn có ngày và giờ hiện tại cho cơ sở dữ liệu MySQL.
Giải pháp:
Chúng tôi sẽ sử dụng một trong hai hàm, CURRENT_TIMESTAMP hoặc NOW (), để lấy ngày và giờ hiện tại.
SELECT CURRENT_TIMESTAMP ;
Đây là kết quả của truy vấn:
2019-08-15 11:13:17
Thảo luận:
CURRENT_TIMESTAMP
trong cơ sở dữ liệu MySQL trả về ngày và giờ hiện tại (tức là thời gian cho máy chạy phiên bản MySQL đó). Nó được cung cấp dưới dạng giá trị ở định dạng 'YYYY-MM-DD hh:mm:ss'.
Hàm này không yêu cầu dấu ngoặc. Tuy nhiên, bạn có thể sử dụng dấu ngoặc để chỉ định thời gian chính xác cao hơn. Chỉ cần đặt một số nguyên từ 1 đến 6 trong dấu ngoặc - điều này xác định số giây phân số sẽ bao gồm sau số thập phân. Số 1 chỉ một vị trí sau số thập phân, số 3 biểu thị ba vị trí, v.v. Dưới đây là ví dụ:
SELECT CURRENT_TIMESTAMP(6) ;
Điều này trả về ngày và giờ với sáu giây phân số, như sau:
2019-08-27 12:08:56.146153
Kết quả này chứa phân số thứ hai gồm 6 chữ số vì chúng tôi đặt 6 làm đối số tùy chọn trong hàm CURRENT_TIMESTAMP.
Hàm NOW () tương tự như CURRENT_TIMESTAMP
và trả về cùng một kết quả. Sự khác biệt là CURRENT_TIMESTAMP
là hàm tiêu chuẩn của SQL, trong khi NOW () dành riêng cho MySQL. Hãy xem một ví dụ với NOW ():
SELECT NOW() ;
Đây là kết quả của truy vấn:
2019-08-27 12:18:55
Không giống như CURRENT_TIMESTAMP, NOW () yêu cầu dấu ngoặc. Bạn có thể để trống dấu ngoặc vuông, nó sẽ trả về ngày và giờ mà không có giây phân số. Nếu bạn muốn nhận được kết quả chính xác hơn, hãy sử dụng số nguyên từ 1 đến 6 làm đối số tùy chọn (như với CURRENT_TIMESTAMP). Nó sẽ trả về số giây phân số mà bạn chỉ định.