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

làm thế nào để thay đổi ngày thành giờ trong oracle 10g

Tôi phải nhập STIMING một thời gian

Oracle không có TIME loại dữ liệu. DATE kiểu dữ liệu luôn được lưu trữ nội bộ dưới dạng 7 byte và luôn bao gồm năm (2 byte) và tháng, ngày, giờ, phút và giây (mỗi byte 1 byte).

Bạn không thể không có thành phần năm, tháng hoặc ngày của DATE .

Nếu bạn muốn một thời gian riêng thì bạn sẽ phải lưu trữ nó dưới dạng một kiểu dữ liệu khác hoặc lưu trữ năm / tháng / ngày và bỏ qua thành phần đó.

Khi bạn SELECT nhập STIMING cột nó không hiển thị thành phần thời gian. Bạn có thể thay đổi điều này bằng cách thay đổi định dạng ngày mặc định được đặt trong NLS_DATE_FORMAT tham số phiên.

Bạn có thể xem lại thông số này bằng cách sử dụng:

SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';

Bạn có thể đặt giá trị này trong phiên hiện tại của mình bằng cách sử dụng:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

(Lưu ý:điều này không thay đổi giá trị cho bất kỳ người dùng nào khác.)

Khi bạn chèn ngày, bạn có thể sử dụng:

INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )

Hoặc ANSI TIMESTAMP nghĩa đen (sẽ được truyền hoàn toàn đến DATE định dạng của cột):

INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để khai báo biến và sử dụng nó trong cùng một tập lệnh SQL của Oracle?

  2. Nhận ORA-03115:kiểu dữ liệu mạng không được hỗ trợ hoặc lỗi đại diện khi tìm nạp mảng varchar từ pl / sql ẩn danh

  3. Có bao nhiêu chỉ mục cơ sở dữ liệu là quá nhiều?

  4. Thoát ký tự và ký tự trong chuỗi SQL

  5. ORA-12728:phạm vi không hợp lệ trong biểu thức chính quy