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

Oracle SQL chuyển đổi định dạng ngày từ DD-Mon-YY sang YYYYMM

Dưới dạng offer_date là một số và có độ chính xác thấp hơn so với ngày thực của bạn, điều này có thể hoạt động ...
- Chuyển đổi ngày thực của bạn thành một chuỗi có định dạng YYYYMM
- Chuyển đổi giá trị đó thành INT
- So sánh kết quả với bạn offer_date của bạn

SELECT
  *
FROM
  offers
WHERE
    offer_date = (SELECT CAST(to_char(create_date, 'YYYYMM') AS INT) FROM customers where id = '12345678')
AND offer_rate > 0 

Ngoài ra, bằng cách thực hiện tất cả các thao tác trên create_date bạn chỉ thực hiện xử lý trên một giá trị.

Ngoài ra, bạn có thao túng offer_date không bạn sẽ không thể sử dụng bất kỳ chỉ mục nào trên trường đó và do đó buộc QUÉT thay vì XEM.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chuyển cột thành hàng trong oracle 10g

  2. Oracle chèn vào trả lại

  3. Oracle Spool - Thiếu thông tin bổ sung

  4. Độ chính xác và Tỷ lệ mặc định cho một số trong Oracle là gì?

  5. Cách chuyển tham số đầu vào trong lệnh gọi thủ tục được lưu trữ từ một dòng lệnh