寫畢設遇到的sql問題

2021-10-05 10:39:22 字數 1565 閱讀 7754

用的是idea內建的h2資料庫。

問題1:

判斷是否為空應該用is null,而不是=null。

select

count(*

)from

data

where disturb_time is

null

or error_code_num is

null

or ciphertext_notice_time is

null

or total_data_measurement is

null

;

問題二:問題是乙個邏輯:如果a列是789號庫和油庫,那麼e列的類別必須是庫。否則篩選掉。

想過if語句寫,後來發現可以這麼寫。

select

count(*

)from

data

where id notin(

select id from

data

where place like

'%庫'

and environment =

'開闊地'

);

這段sql想法就是去掉地方是xx庫,環境寫的是開闊地的行。

問題三:

比較比率,結果保留9位小數(不四捨五入),四捨五入的函式(應該是round())。

truncate

(cast(error_code_num as

float)/

nullif

(code_num,0)

,9)=error_code_rate

遇到幾個小問題:

1.除數不能為0,直接用下列的方法做了。因為我這個資料庫裡除數是0,被除數為0,比值也是0.直接相等就行了。

2.被除數為整數,結果小於0,直接為0.

這個問題就把被除數強行轉換為浮點型就行了,cast(引數 as float)

3.直接取9位小數truncate(引數,9)

問題四:

time型別相減,轉換成小時。

time型別就是年月日都有,當時存的時候沒辦法,沒看到只有小時分鐘的。

我在網上看到好多函式,在idea上都報紅說沒有這個方法。

後來看到乙個取日期直接用day(),一想直接用hour()試試。結果可以耶。

select id from

data

where

hour

(equip_close-equip_open)

+cast(

minute

(equip_close-equip_open)

asfloat)/

60>=equip_elec;

寫畢設查詢的問題總結

換行問題 強制不換行p 超出顯示省略號p suwu150 比較日期 改變滑鼠樣式 cursor pointer 手 cursor wait 等待 cursor help 幫助 vue 路由跳轉 this.router.push login this.router.push this.router.p...

最近畢設遇到的坑

cnpm i node sass g 2 webpack後報錯 module build failed error cannot find module node sass 說明還要安裝sass到專案中,執行下面的命令 cnpm install node sass latest 3 get提交中文資...

畢設 微信商城遇到的問題(2018 4 7)

2018 4 7 1.問題 commerciallist 109 uncaught typeerror cannot read property pro id of undefined 解析 如果是在for迴圈下出現的這種問題,那麼就是要考慮訪問陣列是不是越界了的問題。參考寫js報錯 cannot ...