我有這個簡單的查詢,並想知道是否有可能只提取信息,其中arc
僅等於數字而不是文本。有沒有辦法查詢mysql,只能得到數字結果?
代碼:
$sql = mysql_query("SELECT * FROM `comics` ORDER BY `id` DESC LIMIT 20");
我有這個簡單的查詢,並想知道是否有可能只提取信息,其中arc
僅等於數字而不是文本。有沒有辦法查詢mysql,只能得到數字結果?
代碼:
$sql = mysql_query("SELECT * FROM `comics` ORDER BY `id` DESC LIMIT 20");
據我所知,沒有 「則IsNumeric()」 中的MySQL函數。
你可以,但是,使用正則表達式:
How do I check to see if a value is an integer in MySQL?
我假設你要檢查的字符串值。一種好的方法是使用REGEXP運算符 ,將字符串與正則表達式匹配。只要 做
select field from table where field REGEXP '^-?[0-9]+$';
這是相當快的。如果你的領域是數字,只是測試
ceil(field) = field
同理:
ty像一個魅力工作! – rackemup420 2012-03-09 19:31:46
'ceil(field)= field'示例測試以查看浮點列中的值是否爲整數。 – 2012-03-09 19:45:23
對於學術目的,我提供的隱式轉換的情況下。當執行數學函數時,MySQL將嘗試將字符串轉換爲整數,如果失敗則返回0。
所以......
SELECT 1 * '1'
返回: 1
SELECT 1 * 'hello'
返回 0
所以,如果0
是不是在你的領域的有效數字,你可以簡單地做
SELECT * FROM comics WHERE arc * 1 > 0
使用正則表達式:
是什麼'arc'?表中的一個字段?你爲什麼只需要數字? – 2012-03-09 19:29:38
是弧是一個字段,我只需要數字,因爲有一個處理的順序,如果弧不是一個數字,那麼它不準備好處理。 – rackemup420 2012-03-09 19:32:47