SQL: Query không phân biệt chữ thường chữ hoa đối với Oracle
Cách 1 là hãy ép data thành một kiểu chũ thường hoặc chữ HOA bằng
UPPER()
hoặc LOWER()
:select * from my_table where upper(column_1) = upper('my_string');
HOẶC
select * from my_table where lower(column_1) = lower('my_string');
Nếu sử dụng LIKE thì bạn phải nối dấu
%
xung quanh chuỗi (string) mà bạn tìm kiếmselect * from my_table where lower(column_1) LIKE lower('my_string') || '%';
Cách 2:
Từ bản Oracle 10g trở đi thì đã có hàm
REGEXP_LIKE()
. Ta có thể chỉ ra _match_parameter_
là 'i'
để thực hiện tìm kiếm không phân biệt chữ thường chữ HOA (case-insensitive)select * from my_table where regexp_like(column_1, '^my_string$', 'i');