SQL刷題心得

2021-09-24 16:35:54 字數 1062 閱讀 7537

# 題目:

給定乙個 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交換所有的 f 和 m 值(例如,將所有 f 值更改為 m,反之亦然)。要求只使用乙個更新(update)語句,並且沒有中間的臨時表。

# update 表名稱 set 列名稱 = 新值 where 列名稱 = 某值

update salary set *** = if (***='m','f','m');

if判斷格式:

if(a,b,c)

a為布林值,atrue返回b,afalse返回c

datediff() 函式返回兩個日期之間的天數。

語法

datediff(date1,date2)
date1 和 date2 引數是合法的日期或日期/時間表示式。

注釋:只有值的日期部分參與計算。

例子 1

使用如下 select 語句:

select datediff('2008-12-30','2008-12-29') as diffdate
結果:

diffdate

1

例子 2

使用如下 select 語句:

select datediff('2008-12-29','2008-12-30') as diffdate
結果:

diffdate

-1case 是 sql 用來做為 if-then-else 之類邏輯的關鍵字。 case 的語法如下:

select case ("欄位名")

when "條件1" then "結果1"

when "條件2" then "結果2"

...[else "結果n"]

endfrom "**名";

「條件」 可以是乙個數值或是公式。 else 子句則並不是必須的。

求a,b兩數的餘

mod(a,b)a

18 2 11 刷題心得

本來今天要學fft的,結果還是沒看下去。看來達到我智商的瓶頸了qaq 題目cqoi2011 動態逆序對 比較裸的樹狀陣列套線段樹,然而還是卡了我好久。因為這題很友好所以不用離散化 以位置為主席樹的時間軸,權值為主席樹上的區間建樹 那麼每次加乙個數的時候的貢獻就是之前出現的數中值比這個數大的個數 對於...

leetcode刷題心得分享

知道了這些規則之後,就能知道該如何轉換羅馬數字了。舉個例子,將99轉化為羅馬數字,乍一看好像是ic,因為右邊的大數減去跟著的小數為 c 100 i 1 99,但違反了第4個規則,所以正確的表示方式應該是xcix,至於為什麼不是ixxc,是因為要將大的數放在左邊,好了講了一堆羅馬數字的表示規則,該貼出...

LeetCode刷題心得 整數反轉

整數反 如果想得到乙個32位整數x中的每乙個數字,可以採用如下演算法 int pop x 10 x 10 這個演算法的意思就是,先pop得到x除以10取餘後的結果,然後x再往後退一位。例如x 123,則第一步pop 3,然後x變為12,第二步就是pop 2,x變為1,最後一步則pop 1,x 0.迴...