如何檢查提供的值是數字/整數還是字母?MySQL:如何檢查提供的值是數字/整數還是字母?
舉例來說,這是我工作的SQL,
SELECT
p.*
FROM page AS p
WHERE p.title = 'home'
AND IF(CONVERT('7', SIGNED INTEGER) IS NOT NULL, p.parent_id != p.page_id, p.parent_id = p.page_id)
'' 是可變的,有時它是一個數字,有時是 '自我'。
所以當它是一個數字,然後p.parent_id != p.page_id
否則p.parent_id = p.page_id
但如右圖我的SQL查詢返回總是p.parent_id != p.page_id
我能得到它。
如果變量是非數字的,它總是「self」嗎?如果是這樣,你能不能簡單地顛倒你的想法,並檢查'IF(var ='self',...'? – pilcrow 2012-04-19 01:09:37
是的,我想我也可以這樣做!謝謝提示! – laukok 2012-04-19 01:13:57