① sql中判斷值是否偶數的語句
SELECT *
FROM employees e
WHERE e.emp_no %2=1
這意思就是:從employees表中選出所有emp_no為奇數的員工的信息。
② 用sql怎樣判斷奇偶數
啥資料庫啊 sqlserver的話 update 表名 set 列2 =case when cast(列3 as int)%2=0 then 0 else 1 end 其他資料庫再說
③ 請教一個SQL高級查詢 (奇數偶數分開顯示)
可以用full join 來實現
select T1.*,T2.*
from (select * from tab1 where id % 2= 1) as T1
full join
(select * from tab1 where id % 2 = 0) as T2
on T1.id + 1 = T2.id
④ 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)的方式可以幫助讀者更加清晰理解
⑤ SQL 編寫程序,計算並輸出1~100之間的所有奇數和與偶數和
declare @i int,@Jsum int,@Osum int
set @i=1
set @Jsum=0
set @Osum=0
while(@i<=100)
begin
if(@i%2=0)
set @Osum=@osum+@i
else
set @Jsum=@Jsum+@i
set @i=@i+1
end
select @Jsum as '奇數和',@Osum as '偶數和'
得出結果
奇數和:2500 偶數和:2550
⑥ sql server求偶數之積和奇數之和
declare @i tinyint,@sum smallint,@multi int
set @i=1
set @sum=0
set @multi=1
while @i<=20
begin
if @i/2*2=@i
set @multi=@multi*@i
else
set @sum=@sum+@i
set @i=@i+1
end
select @sum,@multi
⑦ 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語句取奇偶數
select * from tableA where abc%2 = 1
⑨ SQL中如何取得一個按奇數偶數排列,用游標
雖然不是十分明白你想問什麼,但是應該沒那麼復雜,不需要游標,兩次order by 即可。
第一次order by 按照先奇後偶排列,第二次在 奇偶內部 按照從小到大排列。
select*fromA_14073003
idi
5A59C239-34A5-4DC4-BB9E-84E618F205571
A2C647AB-EBC6-437A-B20B-B601ED32E6A62
3DE360FD-6380-4661-A0BB-A983C43C5DB83
FBC0A6F5-2DD9-47C9-93FB-0662B03CE8204
E5219DBF-F00A-427A-A0A8-7A5631EF55715
BE079BED-A9A5-461F-9D73-2AB884D909886
A150A811-556F-4E72-B1C0-EFEF2FDE4A627
C41CAEB4-6B72-4DD7-BC4C-ED74F17741818
9A439763-9D99-427D-9D9D-16459C20FE959
94B429B5-633F-4684-B003-7C6AC4DFBBD010
select*fromA_14073003orderby(i%2)desc,iasc
idi
5A59C239-34A5-4DC4-BB9E-84E618F205571
3DE360FD-6380-4661-A0BB-A983C43C5DB83
E5219DBF-F00A-427A-A0A8-7A5631EF55715
A150A811-556F-4E72-B1C0-EFEF2FDE4A627
9A439763-9D99-427D-9D9D-16459C20FE959
A2C647AB-EBC6-437A-B20B-B601ED32E6A62
FBC0A6F5-2DD9-47C9-93FB-0662B03CE8204
BE079BED-A9A5-461F-9D73-2AB884D909886
C41CAEB4-6B72-4DD7-BC4C-ED74F17741818
94B429B5-633F-4684-B003-7C6AC4DFBBD010
⑩ 用PL/SQL語句求100以內的奇數和偶數和(if和for結構)
DECLARE
V_SUM_ODD NUMBER(10) := 0;
V_SUM_EVEN NUMBER(10) := 0;
V_SUM NUMBER(10) := 0;
BEGIN
FOR I IN 1 .. 100 LOOP
IF MOD(I, 2) = 0 THEN
V_SUM_ODD := V_SUM_ODD + I;
ELSE
V_SUM_EVEN := V_SUM_EVEN + I;
END IF;
END LOOP;
V_SUM := V_SUM_ODD + V_SUM_EVEN;
DBMS_OUTPUT.PUT_LINE('奇數和:' || V_SUM_ODD);
DBMS_OUTPUT.PUT_LINE('偶數和:' || V_SUM_EVEN);
DBMS_OUTPUT.PUT_LINE('奇數和與偶數和:' || V_SUM);
END;