Подтвердить что ты не робот

Синтаксис SQLite для условия If Else

Я использую базу данных SQLite. В моей таблице есть текстовый столбец "Пароль". Раньше для получения значений, которые я использовал для выполнения простого запроса "select * from myTable". Но теперь требование состоит в том, что если значение пароля не равно NULL, тогда мне нужно показать его как "да" или иначе "нет". Это что-то вроде: -

select * from myTable
if Password != NULL then Password = 'Yes'
else Password = 'No'

Я много искал об этом, но у меня не было никакой правильной ссылки или примера. Любая помощь или предложение будут действительно оценены.

-sattu

4b9b3361

Ответ 1

SELECT *,
       CASE WHEN Password IS NOT NULL
       THEN 'Yes'
       ELSE 'No'
       END AS PasswordPresent
FROM myTable

Ответ 2

SQLite использует синтаксис CASE WHEN THEN END. Вы можете узнать больше об этом здесь: http://www.sqlite.org/lang_expr.html

Я не проверял синтаксис, но я предполагаю что-то вроде этого:

select * 
from myTable CASE WHEN Password != NULL THEN Password = 'Yes' ELSE Password = 'No' END;

Хотя я не уверен, что это сработает. Если вы пытаетесь получить ДА или НЕТ в зависимости от наличия пароля в таблице для каждой записи, возможно, это ближе к тому, что вы хотите:

SELECT Field1, 
    Field2,
    (CASE WHEN Password != NULL THEN 
        'Yes' 
     ELSE 
        'No' 
     END) as 'Password'
FROM myTable;

Опять же, у меня сейчас нет доступа к SQLite, чтобы проверить это самостоятельно, поэтому он, вероятно, нуждается в некоторой работе.