Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle TO_DATE với chỉ nhập thời gian sẽ thêm thành phần ngày tháng dựa trên logic gì?

Giá trị của kiểu dữ liệu ngày luôn có các thành phần ngày và giờ. nếu bạn chỉ chỉ định phần thời gian của giá trị ngày giờ như bạn đã làm, phần ngày mặc định là ngày đầu tiên của tháng hiện tại.

Đây là một trong những địa điểm (đoạn thứ 7) trong tài liệu Oracle ghi lại hành vi này.

Cũng có TIME không có giấy tờ chữ và TIME kiểu dữ liệu (cần được bật qua 10407 (tạo kiểu dữ liệu datetime TIME)) nếu bạn cần sử dụng và lưu trữ chỉ thời gian, không có phần ngày tháng.

Đây là một minh chứng nhỏ về việc sử dụng time chữ và time loại dữ liệu. Nhưng một lần nữa, đó là tính năng không có giấy tờ và không được hỗ trợ.

SQL> select time '11:32:00' as res
  2    from dual;

res 
------------------------  
11.32.00.000000000 AM      

Bạn có thể sử dụng ký tự thời gian mà không cần bật 10407 sự kiện, nhưng để có thể xác định một cột time nhập dữ liệu 10407 sự kiện cần được bật:

SQL> create table time_table(time_col time);
create table time_table(time_col time)
                                 *
ERROR at line 1:
ORA-00902: invalid datatype   

-- enable 10407 event 
SQL> alter session set events '10407 trace name context forever, level 1';

Session altered.

Bây giờ chúng ta có thể tạo một bảng với cột time kiểu dữ liệu:

SQL> create table time_table(time_col time);

Table created.


SQL> insert into time_table(time_col)
  2    values(time '11:34:00');

1 row created.

SQL> select * from time_table;

TIME_COL 
--------------- 
11.34.00 AM

SQL> alter session set events '10407 trace name context off';

Session altered.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. thay thế cho listagg trong Oracle?

  2. Có cách nào để tạo lại một gói ODI bằng ODI Scenario không?

  3. JDBC:trả về nhiều bộ kết quả thông qua một lệnh gọi cơ sở dữ liệu duy nhất - không hoạt động đối với Oracle

  4. Cập nhật nhiều cột trong câu lệnh MERGE ORACLE

  5. Cách xem những đặc quyền nào được cấp cho giản đồ của người dùng khác