By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
--CREATE TWO IDENTICAL TABLES AND INSERT SOME DATA
CREATE TABLE t1 ( biosname VARCHAR(100));
CREATE TABLE t2 ( biosname VARCHAR(100));
INSERT INTO t1 VALUES ('-[VVE172BUS-3.30]-');
INSERT INTO t2 VALUES ('-[VVE172BUS-3.30]-');
2 rows affected
--WITH THE OPERATEUR = ALL IS WELL
SELECT * FROM t1 WHERE biosname = '-[VVE172BUS-3.30]-';
biosname |
---|
-[VVE172BUS-3.30]- |
--BUT WITH LIKE WE GET NO RESULT
SELECT * FROM t1 WHERE biosname LIKE '-[VVE172BUS-3.30]-';
biosname |
---|
--WE CAN USE AN ESCAPE CHARACTER IF WE DECLARE IT
SELECT * FROM t1 WHERE biosname LIKE '-\[VVE172BUS-3.30]-' ESCAPE '\';
biosname |
---|
-[VVE172BUS-3.30]- |
--THE SAME RULES APPLY FOR COMPARING 2 FIELDS
--ALL IS WELL IF WE USE +
Select * from t1, t2
where t1.biosname = T2.biosname;
biosname | biosname |
---|---|
-[VVE172BUS-3.30]- | -[VVE172BUS-3.30]- |
--TO USE ESCAPE LIKE WE HAVE THE REPLACE '[' WITH '\['
Select * from t1, t2
where t1.biosname like REPLACE(t2.biosname, '[', '\[') escape '\'
biosname | biosname |
---|---|
-[VVE172BUS-3.30]- | -[VVE172BUS-3.30]- |