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.