博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql:select赋值和set赋值的区别
阅读量:7239 次
发布时间:2019-06-29

本文共 617 字,大约阅读时间需要 2 分钟。

1)Set写法

declare @i integerset @i=(select count(*) from test)select @i

Select写法

declare @i integerselect @i=(select count(*) from test)select @i

declare @i integerselect @i =count(*) from testselect @i

从中可以看出的区别:

set语句可以被Select代替,但反过来不一定可以。set赋值必须使用子查询,用括号括起来;select可以直接赋值。

另外:

如果查询结果有多个,set会出错;而selecte会使用最后一个结果来赋值。

 

2)

假定数据库中id=10的数据不存在,那么:

Select写法

declare @i integerset @i=5select @i =id from test where id=10   select @i

返回 5

Set写法

declare @i integerset @i=5select @i =id from test where id=10select @i

返回 null

从这点可以看出,如果查询结果为空,那么set赋值会返回NULL,而select赋值会返回之前的值。

 

 

转载于:https://www.cnblogs.com/Benjamin/p/3686170.html

你可能感兴趣的文章
mysql describe
查看>>
程序员的自我修养 学习笔记(5)
查看>>
DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录 专题
查看>>
数据字典生成工具之旅(9):多线程使用及介绍
查看>>
Java编程思想学习笔记——注解
查看>>
使用HTML5新特性Mutation Observer实现编辑器的撤销和撤销回退操作
查看>>
Java可变参数传递中可以接收多个对象
查看>>
Python中的正则表达式(re)
查看>>
2016 新学++ , 回顾过去展望未来
查看>>
让你在DOS中任意切换目录
查看>>
较完整的轮播图特效
查看>>
微信公众开发接入服务器的接口配置信息
查看>>
deployment与Web应用程序部署
查看>>
详解iOS多图下载的缓存机制
查看>>
关于CAE的那点儿破事儿
查看>>
prometheus + grafana安装部署(centos6.8)
查看>>
排序算法之快速排序
查看>>
日志框架logj的使用
查看>>
架构师必看-架构之美第14章-两个系统的故事:现代软件神话(一)
查看>>
struts2从2.2.3升级到2.3.15.1步骤
查看>>