Android Строка запроса SQLite для доступа к D в A ~ B ~ C ~ D ~ E ~ F, где A, B, C, D, E и F могут иметь любую интересующую длину и данные - PullRequest
0 голосов
/ 14 января 2020

В приложении Android,
В базе данных SQLite имеется столбец со следующими данными:
A ~ B ~ C ~ D ~ E ~ F
Где каждый из A, B, C, D, E и F могут иметь переменную длину и данные

Например,
A может быть любым возможным именем, таким как Майк, Энди, Том, ...
Или B может быть любым интересующим названием страны и т. Д.

Теперь мне нужен Query для доступа к части D, как?
FYI, '~' character уникален в данных (было бы всего 5 символов '~')
Другими словами, A, B, C, D, E, F не содержат '~'

Редактировать: мне нужно предложение LIKE в базовом c SQLite

Ответы [ 2 ]

1 голос
/ 14 января 2020

На самом деле я не знаю, как это сделать, используя только базовые c строковые функции SQLite. Поэтому я бы предложил обработать это с Java после того, как вы запросили:

String input = "A~B~C~D~E~F";
String[] parts = input.split("~");
String target = parts.length >= 4 ? parts[3] : "";
0 голосов
/ 15 января 2020

Эврика! Это возможно с предложением LIKE (NOT LIKE) в основном c SQLite:

          SELECT_QUERY =
                        String.format("SELECT * FROM %s WHERE %s NOT LIKE %s;",
                                Constants.TABLE_M4,
                                Constants.KEY_M4_Data,
                                "%~%~%~~%'"
                        );

Если D не пусто, оно идентифицируется с помощью вышеуказанного запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...