在MYSQL的開發中,有時候需要查詢中文字段的首字母,以便于按照字母排序等場景下的使用。本文將介紹一種使用MYSQL內置函數實現查詢中文首字母的方法。
SELECT MID(CONVERT(`name` USING gbk),1,1) AS `firstLetter`, `name` FROM `table` WHERE `name` REGEXP '^[a-zA-Z]' UNION ALL SELECT CONVERT(UPPER(LEFT(`name`,1)) USING gbk) AS `firstLetter`, `name` FROM `table` WHERE `name` NOT REGEXP '^[a-zA-Z]'
此處使用了兩個SQL查詢,并通過UNION ALL將結果合并。第一個查詢使用MID函數截取GBK編碼下的第一個字節,并使用REGEXP函數判斷是否為英文字母。第二個查詢使用LEFT函數截取第一個字符,并使用UPPER函數將其轉化為大寫。最后,將兩個查詢的結果使用UNION ALL合并起來,即可實現查詢中文首字母的功能。
上一篇css3繞一邊旋轉