ich eine einfache Abfrage haben (aktuelle Abfrage wird komplizierter. Es ist eine dynamische Abfrage)Ist SQL LIKE NULL gültige Syntax für alle Datenbanken?
SELECT * FROM Employee WHERE @firstName IS NULL OR firstName LIKE @firstName
@firstName als
- NULL
- '% name%' geben werden
Wenn @firstName als '% name%' übergeben wurde. Die Abfrage funktioniert einwandfrei.
Wenn @firstName als NULL übergeben wurde. Die Abfrage wird
SELECT * FROM Employee WHERE NULL IS NULL OR firstName LIKE NULL
// This query is valid syntax on MSSQL and return all employees
// because NULL IS NULL evaluated as TRUE
// And firstName LIKE NULL evaluated as FALSE -- I guess
Meine Frage ist
Ist vorName LIKE NULL gültig für alle SQL-Datenbanken?
Und wird es immer als FALSE ausgewertet?
Ich habe diese LIKE-Syntax geprüft https://www.w3schools.com/SQl/sql_like.asp
und dieses https://msdn.microsoft.com/en-us/library/ms179859.aspx
Aber ich habe nicht meine Antwort finden. Vielen Dank!
Vielen Dank für Ihre Antwort! Upvoted! – Loc
Ich habe LIKE NULL auf Mssql, MySQL, PostgreSQL, SQLite getestet. Sie haben gut funktioniert. Aber es scheiterte auf Oracle-Datenbank. – Loc
* Wie * ist es fehlgeschlagen? Es funktioniert einfach gut für mich in Oracle 11.2. Und ich bezweifle wirklich, dass irgendeine Oracle-Version das nicht korrekt behandeln würde. Das wäre ein schwerer Fehler. –