to_date () nhận tham số chuỗi của bạn, khớp nó với định dạng bạn cung cấp trong tham số thứ hai và xây dựng trường ngày từ nó. Trường ngày tháng không sử dụng định dạng bạn đã cung cấp trong tham số thứ hai - trên thực tế, trường này sẽ được lưu trữ bằng cách sử dụng một số biểu diễn dữ liệu nội bộ không có định dạng nào cả (rất có thể là một con số).
Để hiển thị một định dạng trong kết quả từ trường ngày, bạn có thể:
- Yêu cầu khách hàng thực hiện truy vấn đặt các tham số NLS (ở cấp phiên) để cung cấp định dạng được bản địa hóa, với
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';
tuyên bố) hoặc - Sử dụng
to_char(..., 'YYYY-MM-DD')
xung quanh trường hiện có của bạn để chuyển ngày trở lại thành một chuỗi được định dạng theo cách bạn muốn. Nơi bạn thay thế...
với định nghĩa cột hiện tại của bạn trong lựa chọn.
Phương pháp tiếp cận số 1 đang diễn ra, vì sẽ có bộ NLS_DATE_FORMAT tạo ra định dạng hiện tại, nhưng nó có định dạng bạn không muốn, vì vậy nếu bạn có thể kiểm soát nó và thay đổi nó ở đó, bạn có thể làm điều đó đường. Nếu bạn không thể và bạn phải có một định dạng nhất quán theo cách khác, thì # 2 có thể là cách để tiếp tục.