MySQL: Wie um zu überprüfen, ob eine angebotene Wert ist eine Zahl/ ganze Zahl oder Buchstaben?

Wie kann ich überprüfen, ob eine angebotene Wert ist eine Zahl/ganze Zahl oder Buchstaben?

Zum Beispiel, das ist meine funktionierende 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' ist variabel, manchmal ist es eine Zahl, manchmal ist es 'selbst'.

So, wenn es eine Zahl ist, dann p.parent_id != p.page_id

Sonst p.parent_id = p.page_id

Aber ich kann es richtig machen, da meine SQL-Abfrage gibt immer p.parent_id != p.page_id.

  • Wenn die variable nicht numerisch ist, ist es immer 'self'? Wenn dem so ist, können Sie nicht einfach umkehren, Ihr denken und prüfen IF(var = 'self', ...?
  • ja, ich glaube, ich könnte das auch tun! danke für die Tipps!
InformationsquelleAutor laukok | 2012-04-19
Schreibe einen Kommentar