1. 程式人生 > >【MYSQL】字元轉換和group_concat()函式的排序方法

【MYSQL】字元轉換和group_concat()函式的排序方法

1、字元轉換

1.1 將字元的數字轉成數字,比如'0'轉成0可以直接用加法來實現
例如:將test表中的 t 進行排序,可t的定義為varchar,可以這樣解決
select * from test order by (t+0)
1.2在進行ifnull處理時,比如 ifnull(a/b,'0') 這樣就會導致 a/b成了字串,因此需要把'0'改成0,即可解決此困擾
1.3 比較數字和varchar時,比如a=11,b="11ddddd";
則 select 11="11ddddd"相等
若絕對比較可以這樣:
select binary 11 =binary "11ddddd"
1.4 字符集轉換 :   CONVERT(xxx  USING   gb2312)
型別轉換和SQL Server一樣,就是型別引數有點點不同  : CAST(xxx  AS   型別)  ,   CONVERT(xxx,型別),型別必須用下列的型別:
可用的型別:    
  二進位制,同帶binary字首的效果 : BINARY    
  字元型,可帶引數 : CHAR()     
  日期 : DATE     
  時間: TIME     
  日期時間型 : DATETIME     
  浮點數 : DECIMAL      
  整數 : SIGNED     
  無符號整數 : UNSIGNED

2、group_concat()函式的排序方法

SELECT username,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM