sql 如何在查询的数据中加%号

sql 如何在查询的数据中加%号,第1张

题主的意思应该是在查询结果为int型数据后面,加上%号,比如查询及格率的时候。

提供一种方法,可以用cast函数将int型数据转换为varchar型,然后再加上%就OK了。

模板是:cast(int型数据  as varchar)+ '%'

举个例子:

比如我想查询数据库的及格率(按照百分比输出):

CAST(round(100*sum(case when c.cname='数据库' and s.score>=60 then 1 else 0 end)/SUM(case when c.cname='数据库' then 1 else 0 end),0) as varchar) +'%' as 及格率

如果a,b是字符串类型的,直接这样写:

select '('+a+')' as a,'('+b+')' as b from c

如果不是字符串类型,比如int型,这样写:

select '('+cast(a as varchar)+')' as a,'('+cast(b as varchar)+')' as b from c

user, level 被sqlserver认为是系统保留关键字,直接使用有可能在某些地方造成歧义。加上了中括号,不影响任何使用,但是在语句里,也应当加上括号,在代码里面,字段名是没有括号的。标准SQL语句也应当加上括号。比如:

SELECT [F1], [F2], [F3] FROM [MyTable] WHERE [F1] = @f1 AND [F2] = @f2

在C#代码里,比如DataTable,DataReader里面,需要使用字段名或者表名的时候,不需要使用括号。

比如一个DataTable tb

tb.Rows[0][ "F1" ] 就可以了,而不需要 tb.Rows[0][ "[F1]" ]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11837141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存