指定された値が数値/整数または文字かどうかを確認するにはどうすればよいですか?
たとえば、これは私の作業中の 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)
' 7 ' は変数で、数値の場合もあれば、' self ' の場合もあります。
したがって、それが数値の場合、p.parent_id != p.page_id
そうしないとp.parent_id = p.page_id
しかし、私の SQL クエリは always を返すので、正しく理解できます p.parent_id != p.page_id
。