sql - 在一个 SELECT 语句中设置两个标量变量?

标签 sql sql-server t-sql

我想这样做:

Declare @a int;
Declare @b int;

SET @a,@b = (SELECT StartNum,EndNum FROM Users Where UserId = '1223')

PRINT @a
PRINT @b

但是这是无效的语法。如何在一个 select 语句中设置多个标量变量?我能做到:

Declare @a int;
Declare @b int;

SET @a = (SELECT StartNum FROM Users Where UserId = '1223')
SET @b = (SELECT EndNum FROM Users Where UserId = '1223')

PRINT @a
PRINT @b

但这将花费两倍的时间。最快的方法是什么?

最佳答案

DECLARE @a int;
DECLARE @b int;

SELECT @a = StartNum, @b = EndNum 
FROM Users 
WHERE UserId = '1223'

关于sql - 在一个 SELECT 语句中设置两个标量变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9127775/

相关文章:

sql - 存储纯文本(除 HTML 数据外)是否有利于提高可搜索性?

mysql - 通过 1 SELECT 从 SQL 中提取所有内容

mysql - 即使没有记录,也获取最近 7 天的计数

mysql - SQL引用错误

t-sql - 一次更改多个表

c# - Entity Framework 等同于多个连接?

sql-server - OrmLite 查询 OrderBy 方法的问题

c# - 仅显示一个选择的100个结果

sql-server - T-SQL 复制表变量

SQL Server 连接——两个字符串变量——我错过了什么?