我正在將一個站點從CF8移動到CF10,並且遇到了我並不期待的事情。我的MySQL查詢有一個簡單的串連與公司名稱公司ID組合成這樣:CF10將mysql字符串連接爲二進制數據
SELECT CONCAT(co_coid, ' - ',co_company) AS IDCONAME
在CF8,這個返回一個字符串,我可以像在cfselect我的顯示值。
998 - Company A
999 - Company B
等
然而,在CF10當我傾倒它示出了作爲二進制數據的查詢,我必須對輸出使用的toString()。
我知道在返回之前沒有的加密數據時需要使用toString(),但我不確定它爲什麼要在簡單字符串連接上進行此操作。
[更新] 這可以通過連接字符串或其他服務器範圍的設置進行更改嗎?我知道我可以在輸出中使用toString(),或者在查詢中使用CAST(),但是服務器範圍內的東西是理想的。 MySQL服務器是同一臺服務器,所以在那裏沒有版本更改。
哪些數據類型的列? [mySQL文檔](http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat)表示這是某些數據類型的預期行爲。 (編輯)AFAIK,除了使用CAST作爲JW提到的之外,您不能改變這一點。由於CF8和CF10使用不同的驅動程序,因此也可能存在驅動程序差異。 – Leigh 2013-02-18 16:49:34
此更改在CF9中引入。許多MySQL函數都會返回二進制,除非您將值作爲字符串CAST。 – CfSimplicity 2013-02-21 08:19:42