Проверка нулевых значений в базе данных - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть база данных, в которой хранится значительная часть двоичных данных.Удаленное приложение, которое проверяет базу данных в офисе.

Я хочу, чтобы удаленное приложение проверяло наличие данных, не загружая их из удаленной базы данных.

SELECT BinaryData FROM DB WHERE BinaryData IS NOT NULL

будет работать, но он также загрузит данные, я просто хочу проверить.

Любые идеи

Ответы [ 4 ]

0 голосов
/ 27 сентября 2018

Если вы используете SQL Server (2008+), вы можете использовать EXISTS, который может быть быстрее простого COUNT(*), потому что он прекращает выбирать строки при первом совпадении.

IF EXISTS (SELECT 1 FROM DB WHERE BinaryData IS NOT NULL)
    SELECT 1
ELSE SELECT 0

В качестве альтернативы вы можете написатьчто-то вроде этого (в этом случае вы получите 1, если есть совпадение, а строки не выбраны, если его нет)

SELECT 1 WHERE EXISTS (SELECT 1 FROM DB WHERE BinaryData IS NOT NULL)

Дополнительные примеры можно найти в документах .

0 голосов
/ 27 сентября 2018

Вы можете выбрать количество не пустых строк.Таким образом, вам не нужно загружать двоичные данные в удаленное приложение.

SELECT COUNT(*) FROM DB WHERE BinaryData IS NOT NULL
0 голосов
/ 27 сентября 2018

другой способ проверки ненулевого значения

SELECT COUNT(*) as Count_BinaryData FROM DB WHERE DATALENGTH(BinaryData) > 0 
0 голосов
/ 27 сентября 2018

Только не выбирайте данные для загрузки.

SELECT NULL FROM DB WHERE BinaryData IS NOT NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...