Có thể kết hợp câu lệnh CASE
và toán tử LIKE
trong câu lệnh MySQL SELECT
không? Ví dụ, tôi đang cố gắng truy vấn một cơ sở dữ liệu lưu trữ dữ liệu trong một cột ở một trong hai định dạng (điều này thật kinh khủng và làm đau đầu tôi, nhưng tôi không thể thay đổi dữ liệu để nó là gì). . Vì vậy, đôi khi cột numbers
sẽ có dữ liệu như "6901xxxxxxxx" và đôi khi nó sẽ có dữ liệu như "91xxxxxxxxxxx".Trường hợp MySQL trong tuyên bố chọn với toán tử LIKE
Những gì tôi muốn làm là truy vấn dữ liệu như vậy -
SELECT
CASE digits
WHEN LIKE "6901%" THEN substr(digits,4)
WHEN LIKE "91%" THEN substr(digits,2)
END as "digits",
FROM raw
Điều này rõ ràng không hoạt động nhưng Im hy vọng có thể của nó.
+1: 'TRƯỜNG HỢP cột WHEN ...' định dạng chỉ tốt cho các kết hợp chính xác; phải sử dụng định dạng này cho các kết quả khớp một phần. –
Ding ding ding, dạng sai. Cảm ơn một chàng trai, bàn/trán của tôi rất biết ơn. – HurnsMobile
Cảm ơn. Cú pháp là chính xác –