SQL server语句中where 1<0 是什么意思?

SQLserver语句中where1<0是什么意思?完整代码是:select@name=NamefromUserswhere1<0加了这个where1<0和没加都一样!是... SQL server语句中where 1<0 是什么意思?
完整代码是:
select @name= Name from Users where 1<0
加了这个where 1<0 和没加都一样!是不是如果加了where 1<0 ,得先给@name赋值一个值,如果查询没有结果按照给的那个值去进行查询?
展开
 我来答
jonahjeff
2012-03-20 · TA获得超过3380个赞
知道大有可为答主
回答量:3218
采纳率:38%
帮助的人:1040万
展开全部
1<0显然是不成立的,还有种写法是1=1。。。其实就是个绝对假和绝对真的返回

这么写的目的要看情况。。比如我在后台程序中拼接SQL的时候会写1=1。。。那么我拼接的时候可以直接连 AND+条件表达式就行了。。而不用判断是否第一个条件,是应该写WHERE还是写AND

而1<0这种永假写法一般用来获取结构,你这些的SQL执行出来是不会有返回数据集的,但是会把表结构,比如表列数,列名返回回来。。 也可以直接用来创建一个和你读取的表结构一样的新表
更多追问追答
追问
不好意思我写错了!如果加了wihle 1<0,根据存在变量@name中的数据去查询什么都没有,那也就是条件不成立,@name中是null,如果加了while 1<0,在前面给一个@name='aa',条件不成立时,吧aa当作@name的值去查询,如果不给@name值,不添加while 1<0,@name 的值应该是查询出来的数据集中的最后一个值,
是这样吗?如果这样while不就没用了吗?直接给@name='aa'不就行了?
追答
不是很明白你的意思。。while 1<0和前面的@name= Name 并没有关系。。。@name= Name 是把查出来的字段值赋给变量@NAME,WHERE 1<0是针对整条查询语句而言的。。。你这条语句就等于把@NAME赋值为NULL了吧。。或者空。。具体你可以打印出来看看。。和前面的@NAME是否有值,值是多少应该并无关系
flyingFish211
2012-03-20 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
估计你后面是要加查询条件or得

这种写法好出在于如果你要加多条件,只需要or xx = '....'这样很方便,但是容易给人注入

譬如你要查找
where 1 <0 or name = 'wang'
相当于false or xxx,所以始终执行的是后面的代码,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式