sql server如何用print语句输出查询结果

我用selectnumber,coursefromchoicewherestudentnumber='20100001'得到了一个元组,现在我想在SQLSERVER中用p... 我用select number,course from choice where studentnumber='20100001'
得到了一个元组,现在我想在SQL SERVER中用print将这元组的两个属性输出,请问应该怎么做?

如果元组有多个呢,又应怎么做?

我是初学者,请高手指点指点。
假如我有两个或多个元组呢,比如select number,name from student where sex='F'得到的是全部女生的,我如果想输出其中第5行的,怎么办?
展开
 我来答
斋壮元8
高粉答主

推荐于2019-10-31 · 繁杂信息太多,你要学会辨别
知道答主
回答量:369
采纳率:19%
帮助的人:70万
展开全部

1、可以使用如下程序将元组的多个属性输出

DECLARE @t1 NVARCHAR(100) --声明一个变量,接收查询结果值。

SELECT @t1=com_name FROM com WHERE cust_id='20100001'    --查询

PRINT @t1 --输出结果值。

SELECT @t1=com_name FROM com WHERE cust_id='1405892'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='569454'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='647328'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='1221889'

PRINT @t1

SELECT @t1=com_name FROM com WHERE cust_id='1255607'

PRINT @t1

2、--向上边的批量select查询,用print输出后,在消息中,还能查看结果。如果不用print,就需要一个一个的复制查询结果。

3、--上边的语句,是在excel和word中拼接和替换值,得到的批量查询语句。

扩展资料:

1、不带输出项的print即为输出一个空行,如果之前的print语句输出项的最后用“,”或“;”,则表示其输出是在同一行上。其后面的空的print语句用来消除前面的print语句一直在同一行上输出的效果,使其后面的输出是在下一行。

Print()

功能

以当前字体在打开的打印作业中打印一行或多行文本。

语法Print(printjobnumber,{tab1,}string{,tab2})

例如用在编程中:

定义一个整型数组,将50个随机的两位正整数从下标1开始放入该数组中,求出该数组中具有偶数值的偶数下标元素之和,同时输出该数组中所有元素的值,每行输出10个值。

dim a(50) as integer

dim i,s as integer

randomize

s=0

for i=1 to 50

a(i)=int(rnd()*99)+1

if a(i) mod 2=0 then s=s+i

next i

print "s=";s

for i=1 to 50

print a(i);

if i mod 10=0 then print

next i

2、SQL中Print语句用于调试,所以,它输出的内容属于调试信息,类似于出错信息。

3、在不同的编程中,获取调试信息的,方法不同。此外,很少有人用Print作正常的输出,当然,在调试过程中用除外。要输出时,一般用Select语句来得方便一些。多组信息需要输出时,先生成一个临时表,然后向临时表添加,最后把总的临时表数据向前端推送即可。

参考资料:Print #_百度百科

这个没占用
推荐于2017-09-27 · 超过13用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:31.8万
展开全部
使用PRINT一般是写程序时观察中间结果,对于你说的这种情况,可以直接用SELECT输出结果,在存储过程里也可以这样。如果是在函数或者触发器里,可以建个测试表,如果是表值函数则可以定义一个表变量。

如果一定要print,那么这样吧:
delcare @number int
declare @course nvarchar(30) --for example
select @number=number,@course=course from choice where studentnumber = '20100001'
print @number
print @course
这是楼上的朋友的劳动成果,望勿见怪

如果一定要PRINT全部的,那么用游标吧:

declare @info varchar(200)
declare @curs cursor
set @curs=cursor scroll dynamic
for
select 'number='+convert(varchar(20),number)+'; course='+convert(varchar(20),course) from choice where sex='F'
open @curs
fetch next from @curs into @info
while(@@fetch_status=0)
begin
print @info
fetch next from @curs into @info
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
推荐于2017-09-10 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:113万
展开全部
使用PRINT一般是写程序时观察中间结果,对于你说的这种情况,可以直接用SELECT输出结果,在存储过程里也可以这样。如果是在函数或者触发器里,可以建个测试表,如果是表值函数则可以定义一个表变量。

如果一定要print,那么这样吧:
delcare @number int
declare @course nvarchar(30) --for example
select @number=number,@course=course from choice where studentnumber = '20100001'
print @number
print @course
这是楼上的朋友的劳动成果,望勿见怪

如果一定要PRINT全部的,那么用游标吧:

declare @info varchar(200)
declare @curs cursor
set @curs=cursor scroll dynamic
for
select 'number='+convert(varchar(20),number)+'; course='+convert(varchar(20),course) from choice where sex='F'
open @curs
fetch next from @curs into @info
while(@@fetch_status=0)
begin
print @info
fetch next from @curs into @info
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北京pcb设计
2010-05-06 · TA获得超过888个赞
知道小有建树答主
回答量:503
采纳率:0%
帮助的人:702万
展开全部
delcare @number int
declare @course nvarchar(30) --for example
select @number=number,@course=course from choice where studentnumber = '20100001'
print @number
print @course
go
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wforce
2010-05-10 · TA获得超过843个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:792万
展开全部
select top 1
from(
select top 5 number,name from student where sex='F'
) a
order by ... desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式