如何忽略 SQL 查询中的 0(零)值?
在 SQL 中,很多时候我们需要显示表的所有行,其中忽略具有 0(零)作为条目/值的条目。这是通过 SQL 中的 REPLACE 命令实现的。在本文中,我们将讨论如何在 SQL 中忽略 0(零)并用空格替换它们。对于本文,我们将使用 Microsoft SQL Server 作为我们的数据库。
第 1 步:创建数据库。为此,请使用以下命令创建一个名为 GeeksForGeeks 的数据库。
询问:
CREATE DATABASE GeeksForGeeks
输出:
第 2 步:使用 GeeksForGeeks 数据库。为此,请使用以下命令。
询问:
USE GeeksForGeeks
输出:
第 3 步:在 GeeksForGeeks 数据库中创建一个表 MARKS。该表有 4 列,即 ID、ENG、MATHS 和 PHYS,其中包含学生 ID 和各个科目的分数。
询问:
CREATE TABLE MARKS(
ID INT,
ENG INT,
MATHS INT,
PHYS INT);
输出:
第 4 步:在 MARKS 表中插入 5 行并输入一些 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;
输出: