Как игнорировать 0 (нулевые) значения в SQL-запросе?

Опубликовано: 1 Сентября, 2022

В SQL много раз нам требуется отображать все строки таблицы, в которых записи, имеющие 0 (ноль) в качестве записи/значения, игнорируются. Это достигается с помощью команды REPLACE в SQL. В этой статье мы обсудим, как игнорировать 0 (ноль) и заменять их пустым пространством в SQL. В этой статье мы будем использовать Microsoft SQL Server в качестве нашей базы данных.

Шаг 1 : Создайте базу данных. Для этого используйте приведенную ниже команду, чтобы создать базу данных с именем GeeksForGeeks.

Запрос:

CREATE DATABASE GeeksForGeeks

Выход:

Шаг 2: Используйте базу данных GeeksForGeeks. Для этого используйте приведенную ниже команду.

Запрос:

USE GeeksForGeeks

Выход:

Шаг 3: Создайте таблицу MARKS внутри базы данных GeeksForGeeks. Эта таблица имеет 4 столбца, а именно ID, ENG, MATHS и PHYS, содержащие идентификаторы учащихся и оценки по различным предметам.

Запрос:

CREATE TABLE MARKS(
ID INT,
ENG INT,
MATHS INT,
PHYS INT);

Выход:

Шаг 4: Вставьте 5 строк в таблицу MARKS и введите несколько значений 0 (ноль) в качестве предметных знаков, чтобы продемонстрировать, как игнорировать такие записи.

Запрос:

INSERT INTO MARKS VALUES(1,99,0,89);
INSERT INTO MARKS VALUES(2,0,65,78);
INSERT INTO MARKS VALUES(3,83,85,0);
INSERT INTO MARKS VALUES(4,0,77,0);
INSERT INTO MARKS VALUES(5,97,45,54);

Выход:

Шаг 5: Отобразите все строки таблицы MARKS, включая 0 (нулевые) значения.

Запрос:

SELECT * FROM MARKS;

Выход:

Шаг 6: Отобразите все строки таблицы MARKS, игнорируя 0 (нулевые) значения. Это достигается с помощью команды REPLACE, которая заменяет все 0 пустым пробелом.

Синтаксис:

REPLACE(Column_name, value_to_be_replaced, new_value)

Чтобы выполнить это для нескольких столбцов, поставьте запятую, а затем напишите несколько команд замены.

Запрос:

SELECT ID, REPLACE(ENG,0,"") "ENG", REPLACE(MATHS,0,"") "MATHS", REPLACE(PHYS,0,"") "PHYS" FROM MARKS;

Выход: