set与select赋值问题,同时涉及时间比较

set只能为一个结果赋值

use myexample
go
declare @a varchar(50)
set @a=(select top 1 id from users)
if(@a<=convert(varchar(100),getdate(),24))
print @a
else
print convert(varchar(100),getdate(),24)

go

而select能够同时为许多结果定义变量

use myexample
go
declare @a varchar(50)
select @a=id from users
if(@a<=convert(varchar(100),getdate(),24))
print @a
else
print convert(varchar(100),getdate(),24)

go

原文地址:https://www.cnblogs.com/qdhjbym/p/2097565.html