CONCAT(str1,str2,...)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
ruby 代码
- # e.g.
- # covert_array_to_mysql_select_like_where(["name", "address", "tel", "fax"], "q")
- def covert_array_to_mysql_select_like_where(cols, value)
- if cols.empty?
- []
- else
- cols_str = cols.collect{|col| "IFNULL(CAST(#{col} AS CHAR), '')"}.join(', " ",')
- ["CONCAT(#{cols_str}) LIKE ?", "%#{value.to_s}%"]
- end
- end