Làm thế nào để thoát ký tự trong Oracle PL / SQL queries
Oracle đặt một số cơ sở dữ liệu các ký tự đặc biệt với mục đích và ý nghĩa cụ thể trong môi trường Oracle. Những reserved bao gồm các ký tự _ (underscore) hoang dã mà thẻ ký tự được sử dụng để phù hợp với chính xác một ký tự,% (tỷ lệ phần trăm) mà không được sử dụng để phù hợp với hoặc nhiều hơn xuất hiện của bất kỳ ký tự và '(apostrophe hay báo giá đánh dấu), được sử dụng để đánh dấu các giá trị được cung cấp. Những ký tự đặc biệt sẽ không được giải thích theo nghĩa đen khi xây dựng truy vấn SQL trong Oracle, và có thể gây ra lỗi trong đặc biệt là khi trở về kết quả thực hiện các chuỗi tìm kiếm với từ khóa LIKE. Để sử dụng các ký tự như vậy mà Oracle có thể giải thích cho họ theo nghĩa đen như là một phần của chuỗi giá trị có nghĩa là thay vì cài sẵn, để thoát ký tự đã được chỉ định.
Oracle cho phép các giao của các ký tự đặc biệt để thoát khỏi những reserved ký tự trong Oracle có thể được bình thường để thoát khỏi các ký tự được giải thích theo nghĩa đen, bằng cách sử dụng từ khóa ESCAPE.
Ví dụ, để chọn tên của du khách với _ (underscore) trong đó, sử dụng sau:
CHỌN guest_name TỪ guest_table Tìm tên LIKE '% \ _%' ESCAPE '\';
Mà không cần xác định \ (backslash) như escape clause, các truy vấn sẽ trở lại tất cả các khách tên, làm cho kết quả không mong muốn vấn đề.
Ở trên cú pháp sẽ không hoạt động trên '(trích dẫn). Để thoát khỏi báo giá này để đánh dấu và hiển thị các báo giá theo nghĩa đen trong chuỗi, chèn báo giá khác (tổng số 2 dấu ngoặc kép) cho mỗi báo giá mà muốn được hiển thị. Ví dụ:
SELECT 'này sẽ hiển thị với dòng chữ của quote'.' TỪ temp_table;
SELECT 'này sẽ hiển thị "" trích đôi "" Từ'. TỪ temp_table;
sẽ trở lại sau đây tương ứng:
Điều này sẽ hiển thị với trích dẫn của dòng chữ.
Điều này sẽ hiển thị "hai trích" từ.
Quan trọng: Đây là một máy dịch trang mà chỉ được cung cấp "như là" không có bảo hành. Máy dịch thuật có thể khó hiểu. Hãy tham khảo để bản gốc tiếng Anh bài viết bất cứ khi nào có thể.
Giveaway: Giấy phép MacPilot
Bài viết liên quan
- Làm thế nào để Tránh, Bypass hoặc Escape Google Sandbox
- Bạn không có đủ thẩm quyền để thực hiện trong SQL queries vBulletin bảo trì
- AskEraser để xóa tư nhân trong các truy vấn tìm kiếm Ask.com
- Thay đổi hoặc Đặt MySQL Long Query Time giá trị gia tăng cho log-slow-queries
- Cho phép đăng câu hỏi của Slow (Slow Query Đăng nhập) trong cơ sở dữ liệu MySQL
- Kiểm tra phiên bản Oracle
- Oracle cơ sở dữ liệu liên kết
- Oracle JDeveloper Nhận Xét
- Trim loại bỏ hoặc đầu tiên hay lần cuối Một số ký tự trong cơ sở dữ liệu MySQL với SQL
- IMP-00013 Oracle Nhập Lỗi










































Tháng bảy 13th, 2007 19:27
[...] Về Escape ký tự. Escape ký tự ký tự ký tự đại diện Oracle Wildcards Escape character Làm thế nào để thoát ký tự trong Oracle PL / SQL queries
Tháng chín 17th, 2008 20:44
J'ai le salut mm PB! si je fait une recherche sur le '_' seul mais si sa Marche v je chercher des Mots avec le '_'
exmple:
SELECT * Kiểm tra từ Tìm tên LIKE'1% \ _% thử nghiệm 'ESCAPE' \ ';
sa renvoie tôi:
1_test
10_test??
hay que normalement sa devait rendre que:
1_test??
je comprend pas
Tháng chín 26th, 2008 00:28
Cám ơn bạn rất nhiều - Tôi là SQL Server Gent với một nguồn Oracle và tôi sẽ hạt!