如何编写计算n!(n=20)的SQL语句?请高手指点

如题所述

第1个回答  推荐于2017-09-19
也不知道你什么库。
用sqlserver写了个。供参考把。也根据自己情况修改
create function f_test(@input int)
returns varchar(1000) as
begin
declare @i int
declare @ret varchar(1000)
declare @return numeric(38)
set @i = @input
set @return = 1
set @ret = ''
while @i > 1
begin
set @ret = @ret + convert(varchar(1000),@i)+'*'
set @return = @return*@i
set @i = @i - 1
end
if @i = 1
begin
set @ret = @ret + convert(varchar(1000),@i)
set @return = @return*@i
end
return @ret + '='+convert(varchar(38),@return)
end

--测试
select dbo.f_test(5)
--结果
5*4*3*2*1=120
--测试
select dbo.f_test(20)
--结果
20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1=2432902008176640000本回答被提问者采纳

如何编写计算n!(n=20)的SQL语句?请高手指点
20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1=2432902008176640000

编写计算n!(n=20)的SQL语句,并显示计算结果
语句为:with temp1(col1) as (select 1 col1 union all select col1+1 col1 from temp1 where col1+1<=20 )select exp(sum(log(col1)))from temp1;

请教一个SQL(连接查询)语句写法的问题,如下:
ORDER BY NAME,Ncount DESC;

使用SQL语句整理数据
where A1.行号 = A2.新行号

求大神指点以下SQL查询语句
1、这是sql中常用的“相关子查询”;2、相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。 执行过程:(1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。(2)执行内层查询,得到子查询操作的值。(3)外查询根据子查询返回的结果或结果集得到满足...

求sql中 从第几行取几行的语句!
SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists (Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id )Order by id --m为上标,n为下标,例如取出第8到12条记录,m=8,n=12,Table为表名 Select Top n-m+1 * From Table Where Id>(Select ...

怎么修改sql数据库中的指定时间
1.首先,打开数据库并创建一个新表。由于日期格式的原因,所以两个date_time和time_time字段是日期类型,见下图,然后进入下一步。2.其次,完成以上步骤后,如果是一个简单的查询表,则会以日期格式显示,如下图所示,然后进行下一步。3.然后,在完成上述步骤之后,将查询日期显示结果设置为日期...

请高手指点:SQL查询数值型问题,用的是foxpro数据库,金额设置的类型为字...
按执行顺序,生成的SQL语句显然不正确 SQL = "SELECT * FROM mingxi ORDER BY no"& "and val(金额) <= & Val(Text2.Text) &“应该是Select * From mingXi Where ... and val(金额) <= & Val(Text2.Text) &“

sql 求差
[用户id] from 原来表语句在建立个临时表#tb,然后用游标将临时表中#tb中一条条的[用户id]数据取出来用最上面的语句去减,并判断将结果,最后在写入一个新的临时表中,用select 语句返回这个最终临时表的所有结果即可。我暂时只想到这个方法,有不妥之处还请高手们指点了。希望能帮到你 ...

如何用C#程序直接执行.sql文件里的SQL语句?急着用啊!新手求高手指点
1.用SqlCommand执行;2.将构造成的sql语句存入数据库表中,写触发器执行;取文本文件中的内容,可用System.IO.File 里面的方法 if (File.Exists(FILE_NAME)) \/\/如果文件存在 { String[] strs = System.IO.File.ReadAllLines(FILE_NAME);if (strs != null && strs.Length > 0){ foreach (...

相似回答