菜鸟第一次发帖求助!关于声明局部变量,赋值并显示变量值的问题!

wainiyitao2010 2016-09-29 05:18:01
declare @studname varchar(10),@salary int,@today date
set @studname='李明'
set @salary=50
select @today=Getdate()
select @studname,@salary
print @today
这个答案有两个地方理解不了...
1、@today date的date已经是一个日期时间类型,为什么到后面的select语句又再次赋给today=getdate()呢?
2、select和print都是用来显示变量的值的语句,但在SQL操作实际中最后只有显示studname和salary的值,today没有显示,那么这个print @today的意义的什么呢?
...全文
567 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wainiyitao2010 2016-09-29
  • 打赏
  • 举报
回复
感谢两位大神的解答!现在这个问题已经搞清楚了!谢谢C论坛!感觉这里是个学习编程的好地方,对于我们这种刚入门的新手来说是个学习交流的好地方!以后会长期在论坛学习!感谢!
wainiyitao2010 2016-09-29
  • 打赏
  • 举报
回复
引用 2 楼 closurer 的回复:
在 Microsoft SQL Management Studio 中,select 显示在【结果】选项卡,print 显示在【消息】选项卡。
原来是这样!!明白了!感谢大神解答!
wainiyitao2010 2016-09-29
  • 打赏
  • 举报
回复
哇~感谢版主解答!第一个问题算懂了...可是第二个问题还是有点疑惑,因为这个答案也是照着书上的形式打进来的,如果print是回显打印结果的话,那最后一句print @today应该就啥都没有显示结果, 因为前面的@today没有具体赋值,但我在数据库打上这些语句后结果却显示了studname和salary这两列的数据,这又是咋回事呢,求版主解答
闭包客 2016-09-29
  • 打赏
  • 举报
回复
在 Microsoft SQL Management Studio 中,select 显示在【结果】选项卡,print 显示在【消息】选项卡。
卖水果的net 版主 2016-09-29
  • 打赏
  • 举报
回复
1、@today date的date已经是一个日期时间类型,为什么到后面的select语句又再次赋给today=getdate()呢? 既然是变量,就说在他的整个生命周期,他随时可能被赋一个新的值,具体什么时候赋新值,这个取决于业务需求 2、select和print都是用来显示变量的值的语句,但在SQL操作实际中最后只有显示studname和salary的值,today没有显示,那么这个print @today的意义的什么呢? select 是给这个变量赋值,(set 也可以),print 只是回显,也就是打印结果,一般用于调试时;

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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