请问sql语句:select * from 表名 where 1=2

zoge 2003-05-19 05:05:48
其中的条件“1=2”是什么意思?
...全文
5262 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
firetoucher 2003-05-20
  • 打赏
  • 举报
回复
同意楼上,不能直接用1表示第一个字段,好像前面可以加一个特殊符号就行了,sorry,忘了
DJMPH 2003-05-20
  • 打赏
  • 举报
回复
HawaiiLeo(罗马数字)说的对,是在pb的数据窗口里方便条件的改变用的,
1=1的目的只有一个,就是让sql初始的时候就存在where,后面只需要 and date='2003-5-20'之类的东西就可以了。
1=2的目的差不多,初始的时候有where但不让数据查询出来,然后用户设定条件,程序把where后面的条件改掉,就能出现数据了。
zoge 2003-05-20
  • 打赏
  • 举报
回复
我们是在pb里面写的语句,
可不可能是“1”表示表的第一个字段?
HawaiiLeo 2003-05-19
  • 打赏
  • 举报
回复
大致就两个作用了,
一是使用在:
select * into #t from 表名 where 1=2

二是使用在:
select * from tablename where 1=1 and 字段=变量值
一般SQL语句中where条件是动态累加组合的时候,常用where 1=1
pengdali 2003-05-19
  • 打赏
  • 举报
回复
就象你在前台语言里写 if (false) 一样

它不会返回任何记录,但可以返回表的结构就象

select top 0 from 表

的作用一样,

比如我要建一个和表a相同结构的表b 但我不要数据就可以:

select * into 表b from 表a where 1=2

这样实现了拷贝一个表结构的目的
饮水需思源 2003-05-19
  • 打赏
  • 举报
回复
写 where 1=1 就是为了在编程语言中使用,在语言中可能用户输入条件,也有可能不输入条件,这时可以这样:如果输入了条件则为 and 字段=变量值,如果没有输入则为空值
组合后变成:select * from tablename where 1=1 and 字段=变量值
或 select * from tablename where 1=1
DoDone 2003-05-19
  • 打赏
  • 举报
回复
WHERE 后面表示过滤的条件,只有满足条件的记录才被选择,因为条件(1=2)为假,
所以整句话其实就是什么都不选择;如果条件是“1=1”就是选择所有记录。
愉快的登山者 2003-05-19
  • 打赏
  • 举报
回复
select * into #t from 表名 where 1=2

是生成一个结构同表名的表#t,但没有数据,是空表。
quanmh 2003-05-19
  • 打赏
  • 举报
回复
false,表示where条件一直不成立,不会返回任何记录.

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧