当前位置:首页 » 编程语言 » sql奇数

sql奇数

发布时间: 2023-03-04 19:38:13

‘壹’ 用sql怎样判断奇偶数

n%2=0为偶数,n%2<>0为奇数

‘贰’ sql查询如何筛选奇偶数

通用的就是 col%2=0 偶数,col%2=1 奇数.

oracle 的话是 mod(4,3)=1 mod(4,2)=0

‘叁’ sql 使用游标来删除表中奇数行的记录

似乎用游标有点大才小用了。

新建表来测试即可

CREATE DATABASE test;
USE test;
CREATE TABLE test(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT
);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);

DELETE语句:

DELETE FROM test WHERE  (id%2)=1;
SELECT * FROM test;

效果:

‘肆’ SQL怎么判断查奇偶数

首先第一句话:虽然我不知到这两个数是什麽,但我知道你一定也不知道。 从这句话说明孙手里拿到的两个数肯定都不是素数(什么是素数?就是除了1和它本身以外不再有其他因数的自然数),不然的话,孙通过知道庞的和就可以唯一判断出这两个数字了
推理一:比如A=a+b,B=a*b;B=15,A=8,那么很容易就猜想到了a=3,b=5 (因为对15进行拆分只有一种可能),所以对庞的第一句话产生了矛盾;那么a,b两个数可能是一个奇数,一个偶数;另外有位大神认为任意大于4的偶数都能被拆成两个奇质数之和,但由于两个质数都要小于99,所以庞手上的数可能为偶数,但这个偶数会接近200(有182,184,188,190,192,196和198),除此之外,只可能是奇数;举例:如果庞涓手上是28,可以拆成11+17,当孙膑拿到了187这个积,马上就可以猜出鬼谷子给他的两个数是11和17,与庞涓肯定孙膑不知道这两个数相矛盾,因此有可能拆成两个2-99的质数和的数都要排除因此有可能拆成两个2-99的质数和的数都要排除
推理二:庞的和数一定不是大于55的数。因为大于53的数始终能够拆成质数53和另一个大于2的数,在2-99的限制下,这两个数的乘积只有这唯一一种拆分方法。举例:如果庞手上的和数是57,可以拆成53+4,当孙膑拿到212这个积,只有4*53这一种拆分可能性,因为2*106的另一种拆分方法导致有一个数超过99。由此排除55以上的所有所有数因此最后满足以上条件的这样的数字仅有11个:11,17,23,27,29,35,37,41,47,51,53。
第二句话:本来我不知道,现在知道了;这说明孙看了自己手上的积后,分解因式对应的所有拆分情况中有且仅有一种,两个因数的和是以上11个数中的一个。
第三句话:那我也知道了;由于庞涓并不知道两数积,所以只能从以上表格出发确定,最后得到两个数字分别是4和13

也许上面的解析并不通俗易懂,其中涉及到很多数学知识和推理能力,如果感兴趣可以基于上述讲解自行进行推导;其实这道题的本质是基于每次的问题进行排除,尽可能的缩小范围,最后得到结果;那么最后通过SQL的方式来解决这类问题,或许通过sql(基于HQL)的方式可以帮助读者更加清晰理解

‘伍’ 用PL/SQL语句求100以内的奇数和偶数和(if和for结构)

--PL/SQL块形式的:
DECLARE
i NUMBER;
nj NUMBER := 0;
no NUMBER := 0;
BEGIN
FOR i IN 1 .. 100 LOOP
IF MOD(i, 2) = 1 THEN
nj := nj + i;
ELSE
no := no + i;
END IF;
END LOOP;
dbms_output.put_line('奇数和:' || nj);
dbms_output.put_line('偶数和:' || no);
END;
/
--一句话的:
SELECT SUM(CASE
WHEN MOD(rownum, 2) = 1 THEN
rownum
END) 奇数和,
SUM(CASE
WHEN MOD(rownum, 2) = 0 THEN
rownum
END) 偶数和
FROM al
CONNECT BY rownum <= 100;

‘陆’ SQL查询统计结果为奇数的记录

没看懂你到底想要什么,告诉你个方法吧先
如果一个数,如果能被2整除,那么它四舍五入不含小数位的时候和它本身相等
如果不相等的话,那么这个数就是奇数

round(4/2)=4/2

round(5/2)<>5/2

还有,你的除号写的不对
-------补充--------
select a.who from
(select who,when,count(*) as num from test group by who,when) a
where round(a.num/2)<>a.num/2

‘柒’ 怎么用SQL语句取奇偶数

select * from tableA where abc%2 = 1

‘捌’ SQL(SQL server 2008)实现插入奇数和偶数

--测试环境MSSQL2008
--查询
;
WithT
As
(
Select1Asa,2Asb
Unionall
Selecta+2,b+2FromtWherea<10000
)
Select*FromT
Option(MAXRECURSION32767)

--一次插入6万以内的(如果表不存在)
;
WithT
As
(
Select1Asa,2Asb
Unionall
Selecta+2,b+2FromtWherea<10000
)
Selectaas奇数,bas偶数into表FromT
Option(MAXRECURSION32767)

--一次插入6万以内的(如果表已存在)
;
WithT
As
(
Select1Asa,2Asb
Unionall
Selecta+2,b+2FromtWherea<10000
)
InsertInto表
Select*FromT
Option(MAXRECURSION32767)

--一次插入4096以内的,还可以用这个
Insertinto表
Selectnumber*2+1As奇数,(number+1)*2As偶数Frommaster.dbo.spt_values
Wheretype='P'

‘玖’ sql 奇数和 如何写

update 表名 set J=((case when a%2=0 then 0 else a end )+(case when b%2=0 then 0 else b end )+(case when c%2=0 then 0 else c end ))
select * from 表名

热点内容
畅捷支付刷脸机如何设置密码 发布:2024-05-19 13:03:10 浏览:764
java麻将 发布:2024-05-19 13:03:00 浏览:433
存储过程大数据游标 发布:2024-05-19 13:00:50 浏览:515
内存存储价格 发布:2024-05-19 13:00:48 浏览:389
隔离期的算法 发布:2024-05-19 12:55:13 浏览:530
苹果怎么装安卓模拟器 发布:2024-05-19 12:42:15 浏览:801
脚本养微信 发布:2024-05-19 12:42:14 浏览:148
人脸识别算法公司 发布:2024-05-19 12:37:10 浏览:682
苹果平板怎么跟安卓电脑投屏 发布:2024-05-19 12:36:20 浏览:20
广州税控盘密码和口令是多少 发布:2024-05-19 12:25:36 浏览:596