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

Dữ liệu truy vấn Oracle trong đó giá trị cột có dấu phẩy để kiểm tra giá trị có chứa hay không

Bạn cần kiểm tra một chuỗi con được bao quanh bởi các dấu phân cách:

SELECT PROFILEID
FROM   WA_BT_TBL_PROFILE P
WHERE  ', ' || P.ALLOWED_IP_ADDRESS || ', ' LIKE '%, 192.168.183.28, %';

Tuy nhiên, cách tốt hơn là thay đổi bảng cơ sở dữ liệu của bạn để bạn không lưu trữ nhiều mục trong một giá trị:

CREATE TABLE Allowed_IP_Addresses(
  PROFILEID          VARCHAR2(20)
                     CONSTRAINT AllowIP__ProfileID__FK REFERENCES WA_BT_TBL_PROFILE( PROFILEID ),
  CLASSA             NUMBER(3,0),
  CLASSB             NUMBER(3,0),
  CLASSC             NUMBER(3,0),
  CLASSD             NUMBER(3,0),
  IP_ADDRESS         VARCHAR2(15)
                     GENERATED ALWAYS AS (CLASSA||'.'||CLASSB||'.'||CLASSC||'.'||CLASSD) VIRTUAL,
  CONSTRAINT AllowIP__P_A_B_C_D__PK PRIMARY KEY ( PROFILEID, CLASSA, CLASSB, CLASSC, CLASSD )
);

Sau đó, bạn có thể lưu trữ các giá trị riêng lẻ (và dễ dàng tìm kiếm các phạm vi mạng phụ) và kết hợp nó vào bảng hồ sơ nếu cần.



  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ập nhật câu lệnh oracle không hoạt động

  2. Cách giải quyết ORA-04063:xem SYS.ALL_QUEUE_TABLES có lỗi?

  3. Tạo danh sách thả xuống từ giá trị trong php cơ sở dữ liệu

  4. Cách tạo con trỏ bên trong thân thủ tục trong plsql

  5. Bị mắc kẹt Gọi đến hàm không xác định oci_connect () bằng XAMPP