Tôi đang sử dụng truy vấn này để tạo trình đơn trên blog lưu trữ, như vậy:SQL CONCAT - nhân vật Funny - nhưng tôi không cười
SELECT CONCAT(MONTHNAME(published) , ' ' , YEAR(published)) AS monthyear,
COUNT(*) AS total
FROM blog_articles
WHERE status = 'Online' AND Year(published) = 2012
GROUP BY CONCAT(MONTHNAME(published) , ' ' , YEAR(published))
Kết quả mong đợi:
January 2012 103
February 2012 87
March 2012 23
April 2012 99
kết quả thực tế:
Đếm là chính xác nhưng thay vì tâm trí phương Đông, nó sho uld read:
May 2012 1
Làm cách nào để loại bỏ các nhân vật vui nhộn và có tiếng Anh thay thế?
Khi tôi chạy truy vấn này trong phpMyAdmin, các ký tự vẫn ổn.
CẬP NHẬT
Tôi vừa cố gắng chạy conn.Execute ("SET lc_time_names = 'en_US';") và không giải quyết vấn đề. Để kiểm tra, tôi sử dụng conn.Execute ("SELECT @@ lc_time_names;") và nó trả về "en_".
KHÁC CẬP NHẬT
tìm kiếm trên các diễn đàn MySQL cho các vấn đề liên quan, tôi thấy một anh chàng than vãn về cùng một vấn đề. Một guru MySQL nói:
"Đây là (khét tiếng) máy chủ nổi tiếng trả không đúng chủng loại cho CONCAT của một số và một chuỗi Người ta phải sử dụng (cast) hình thức này để công việc, người lái xe. không thể nói loại thực sự là gì. "
Tôi không biết dàn diễn viên là gì hoặc cách khắc phục sự cố này.
+ 1 cho tiêu đề: P – Oleksi
+1 cho "tinh thần phương Đông" ': P'. – Bojangles
Truy vấn * tầm thường nhất * tái tạo sự cố của các ký tự "vui nhộn" là gì? Truy vấn trên là 1. truy vấn tối thiểu (cần được chỉ định) hoặc; 2. chứa một loạt các SQL không cần thiết ('GROUP BY',' CONCAT', 'MONTHNAME', v.v.). –