Kann ich SQL -Funktionen auf einer Inhalts -Spalten -Spalten -Abfrage ausführen?
-
21-09-2019 - |
Frage
Ich frage mich, ob der ContentResolver von Android die Verwendung von SQL -Funktionen über die Spalten unterstützt, wenn Sie einen ContentProvider abfragen. Wie SQLite3 -Datumsfunktionen, um ein bestimmtes Datumsformat oder ein datiertes Datum zu erhalten?
Was weißt du darüber?
Lösung
Nein. Auch wenn Sie feststellen, dass es für einige Fälle funktioniert, können Sie nicht davon ausgehen, dass es auf ganzer Linie funktioniert.
ContentProvider
ist eine Fassade. Ein gegebenes ContentProvider
könnte SQLite verwenden. Es kann XML -Dateien verwenden. Es kann JSON -Dateien verwenden. Es kann CSV -Dateien verwenden. Es könnte eine SQL-Datenbank von Drittanbietern verwenden. Es kann eine Objektdatenbank von Drittanbietern verwenden. Es hat vielleicht nicht viel lokaler Inhalt, sondern seine Sachen in der Cloud aus, die über Webdienstanrufe erreicht werden. Sie können nicht einmal sicher sein, dass a ContentProvider
Unterstützt notwendigerweise einen klassischen SQL WHERE
Klausel-einige XML-Rücken ContentProvider
Könnte stattdessen die XQuery -Syntax verwenden.
Daher kann man sich definitiv nicht auf a verlassen ContentProvider
Sogar wissen was datediff
ist.