Ich hatte den Eindruck, dass das Angeben von ganzen Zahlen in SQL-Abfragen verpönt ist, aber ich habe kürzlich gelernt, dass sich bekannte Frameworks wie Django an diese Praxis halten. Ist das überhaupt akzeptabel?Angeben von Ganzzahlen
Antwort
Die Frage impliziert, dass Sie überhaupt nackte Werte in Ihre SQL-Abfrage einfügen. Ich denke, die "akzeptabelste" Vorgehensweise wäre, die Abfrage stattdessen zu parametrisieren - auf diese Weise müssen Sie sich nicht mit solchen Problemen befassen; Lassen Sie die Datenzugriffsbibliothek dies stattdessen für Sie übernehmen.
Das Angeben von Ganzzahlen in SQL hat nur eine geringe Leistungseinbuße. Das Entfernen der Anführungszeichen ist viel weniger Arbeit als das Umwandeln der ASCII-Darstellung in eine binäre Ganzzahl.
Also ich würde sagen, es ist vollkommen akzeptabel, vor allem für ein RAD-Framework.
Aber die ganze Zahl muss immer noch in beide Richtungen konvertiert werden. – recursive
Ich bin nicht sicher über alle SQL-Datenbanken, aber SQL Server wird implizit eine zitierte Zahl in ein int konvertieren. Das folgende Beispiel gibt 166
in SQL Server 2000 zurück:
select '500'/3
- 1. Große Ganzzahlen von nahen Ganzzahlen in Python unterscheiden
- 2. XOR von zwei kurzen Ganzzahlen
- 3. C: Darstellung von großen Ganzzahlen
- 4. Konvertieren von Ganzzahlen in Dezimalwerte
- 5. C# deserializing enums von Ganzzahlen
- 6. Konvertieren von Zeitzeichenfolgen in Ganzzahlen
- 7. Float-Wert von Ganzzahlen erhalten
- 8. Array von 1 Paar Ganzzahlen
- 9. XSLT-Durchlauf-Array von Ganzzahlen
- 10. Verwenden von Java zum Verschlüsseln von Ganzzahlen
- 11. Datenstruktur zum Speichern von Milliarden von Ganzzahlen
- 12. Tesseract: Angeben von Textbereichen
- 13. Angeben von Datum Eingabeformat
- 14. Angeben von Standardparameter C++
- 15. Angeben von Bereitstellungsumgebungen
- 16. Angeben von Abhängigkeiten von Makefile
- 17. Gson. Deserialize Ganzzahlen als Ganzzahlen und nicht als Doppel
- 18. Multiplikation sehr langer Ganzzahlen
- 19. Kommas in Ganzzahlen einfügen
- 20. Parsing String zu Array von Ganzzahlen
- 21. Komprimieren Array von Ganzzahlen in Java
- 22. Ändern Unterstriche das Verhalten von Ganzzahlen?
- 23. Kompilierzeit Ersetzung von String-Konstanten durch Ganzzahlen
- 24. Lesen von Zeichen und Ganzzahlen aus Textdatei
- 25. C Druck nur Vorzeichen von Ganzzahlen
- 26. Kombinieren von zwei Ganzzahlen mit Bit-Verschiebung
- 27. Empfangen von 16-Bit-Ganzzahlen in Python
- 28. Definieren einer Struktur von Nicht-Null-Ganzzahlen
- 29. Zuordnung von Integer-Bereichen zu beliebigen Ganzzahlen
- 30. PHP Eingabe und Ausgabe von vierstelligen Ganzzahlen
+1 für die Parametrierung! – AdaTheDev
+1, nicht mit Bind-Params ist eine viel schlechtere Idee in einem Framework. – macabail
Während die Parametrisierung eine gute Idee zu sein scheint, ist sie nicht wirklich die gazillion Zeilen von Boilerplate Code wert, die es erfordert. Du wirst viele erfolgreiche Apps ohne sie finden (wie Django, denke ich) – Andomar