输出由1,2,3,4,5,6组成的所有两位数。4.找出100以内所有素数,sql

帮我分析下,输出由1,2,3,4,5,6组成的所有两位数。4.找出100以内所有素数,sql
最新回答
挂科比挂科难

2024-05-06 17:10:39

第一个问题比较简单,如果数字多,可以用动态SQL将数字写入一个临时表,最后join出来,这个数字少,实现方法如下:

select A+B from 
(select '1' A union select '2'  union select '3' union 
select '4' union select '5' union select '6') a
cross join 
 (select '1' as B union select '2'  union select '3' union 
select '4' union select '5' union select '6') b

第二个问题需要使用动态SQL进行处理,代码如下:

declare @i int,@j int,@r int
set @i=2
while @i<100
begin
    set @j=1--循环初始值
    set @r=1--判定标识
    while @j<@i
    --如果找到除了1和它本身之外的能整除的数字(取余数等于0),则标志判定标识为否
    begin
        if @i%@j=0 and @i<>@j and @j<>1
        begin
            set @r=0
            break
        end
        set @j=@j+1
    end
    --若判定标识为正确,则打印数字
    if     @r=1 print @i
    --循环数+1
    set @i=@i+1
end