這是MySQL 5實力養成暨評量裡的5-09.『BIN函數,可回傳傳入參數的二進位字串,試問執行SELECT BIN(12);結果為何?
答案:(D)’ 1100′
實在看不出來為啥會是’ 1100’這跟1100有差別嗎?我試著用select concat(‘s’,bin(12));來判斷1100之前是否有空格,結果輸出的是’s1100’,表示1100之前應該是沒有空格的,後來追查了課本發現答案是’1100’,看來電腦題目有問題,無怪乎我會判斷答案為1100,用兩個單引號表示字串結果卻讓我判斷錯誤,真不知這題是否要送分,哈哈。
詳細資訊參考手冊MySQL 5.7 Reference Manual :: 12 Functions and Operators :: 12.5 String Functions
簡體中文手冊:MySQL 5.1参考手册 :: 12. 函数和操作符
BIN( N )
返回值為N的二進制值的字符串表示,其中N為一個longlong (BIGINT)數字。這等同於 CONV( N ,10,2)。假如N為NULL,則返回值為NULL。
mysql> SELECT BIN(12);
-> ‘1100’
這時候各位應該可以知道為什麼會考這題了,跟手冊的範例一模一樣。