Tôi muốn làm điều này:Làm thế nào để trở lại ngày hôm nay cho một biến trong Oracle
DECLARE @today as smalldatetime
SELECT @today = GetDate()
Nhưng tôi cần một dịch oracle
Tôi muốn làm điều này:Làm thế nào để trở lại ngày hôm nay cho một biến trong Oracle
DECLARE @today as smalldatetime
SELECT @today = GetDate()
Nhưng tôi cần một dịch oracle
Oracle sử dụng SYSDATE
, và có sự chuẩn ANSI CURRENT_TIMESTAMP
(được hỗ trợ bởi cả hai SQL Server và Oracle, bên cạnh những người khác) để có được ngày hiện tại & thời gian.
v_today DATE;
SELECT SYSDATE
INTO v_today
FROM DUAL;
... sẽ tương đương với TSQL bạn đã đăng. Oracle sử dụng mệnh đề INTO
để điền các biến, trong đó kiểu dữ liệu biến phải khớp với vị trí cột trong mệnh đề SELECT.
Trong khi không phải một bản dịch nghiêm ngặt, tôi thích việc xây dựng sau trong Oracle:
v_today date; -- needs to go where variables are declared
v_today := sysdate; -- used where code is run.
Hoặc thậm chí:
v_today date := sysdate;
Tôi ghét ý tưởng sử dụng một cái gì đó có nhãn "dấu thời gian" để trở về một kiểu dữ liệu ngày . –
bạn nên lưu ý rằng SYSDATE không hoàn toàn bằng CURRENT_TIMESTAMP, lần cuối chuyển đổi thời gian thành vùng cục bộ của máy khách. –