为什么我们在查询中给出sql 1 = 0

XMe*_*Men 11 mysql

我已经看到在一些程序员中使用1 = 0的条件用于select查询,为什么他们使用这个条件.

SQL*_*ace 16

在SQL Server中,您可以快速创建表的副本,而不需要像这样的任何数据

select * into Newtable
from Oldtable
where 1 = 0
Run Code Online (Sandbox Code Playgroud)

这将创建一个与旧表结构相同的新表

另一种选择是返回一个空的结果集


cee*_*yoz 7

唯一可能的用途是阻止查询返回任何行.我偶尔也会用它来测试"找不到结果"的类型逻辑.


Mar*_*ins 5

我见过一些实用程序使用该语法来收集有关表的元数据。他们可以运行查询,例如在select * from sometable where 1=0没有任何数据的情况下“有效”地从表中获取列。