Oracle知識點整理(四)

2021-10-06 19:03:04 字數 2223 閱讀 2351

oracle知識點整理(四)

前言日期關鍵字

sysdate

systimestamp

日期函式

to_date

to_char

last_day

add_months

months_between

next_day

least/greatest

日期得計算

日期rr注意點

空值null

預設值插入null

修改null

null值的運算操作

空值函式

前言這一篇是最後的乙個過度篇幅,主要涉及日期和空值操作。

日期關鍵字

sysdate

返回當前系統時間date型別的值,精確到秒,其本質是乙個oracle的內部函式

預設格式為:dd-mon-rr

systimestamp

返回當前系統時間的時間戳型別的值,精確到毫秒,本質也是內部函式

日期函式

to_date

to_date(『2020-01-01 14:22:22』,『yyyy-mm-dd hh24:mi:ss』) 將字串按照指定格式轉為日期

如果是如下格式,即有不是數字、字母、符號,是不能轉換的,要用就得加雙引號,有時候有些符號都不可以,如果有這種問題,就將這些字元都加上雙引號

to_date(『2023年01月01日 14:22:22』,『yyyy年mm月dd日 hh24:mi:ss』)

改為to_date(『2023年01月01日 14:22:22』,『yyyy「年」mm「月」dd「日」 hh24:mi:ss』)

to_char

將日期按照指定格式轉為字串

to_char(sysdate,『yyyy-mm-dd hh24:mi:ss』)

與to_date()剛好相反,這兩個函式使用頻率都很高

last_day

返回給定日期所在月份最後一天的日期。

select last_day(sysdate) from dual

1add_months

返回給定日期加上指定月份的日期,為負數則減去指定月份。

add_months(sysdate,12) 表示一年後今天的日期

months_between

months_between(date1,date2)

返回給定日期的相差月份

next_day

next_day(date,i)

返回給定日期的第二天開始一周內的指定週幾的日期

i表示週幾,1-7分別表示週日、周一……週六

不是表示第二天

least/greatest

least(d1,d2)/greatest(d1,d2,d3)

求最小/最大值,引數可以多個,至少乙個。

除了日期外,常用的數字也可以比較大小。

日期得計算

日期可以與乙個數字進行加減法,相當於加上指定天數。

兩個日期相減即為相差得天數

日期rr注意點

日期得預設格式為:dd-mon-rr

這裡的rr和yy是不一樣的,它是關注世紀的,如果將字串轉為年的時候rr是關注世紀的。

如果使用者輸入的時間是98年,也就是rr為98,即user為98,當前年份是2023年,即sys為20,根據上表的結果可知使用者輸入的98轉為日期是上世紀的98年。

空值null

預設值資料庫表中的資料如果沒有值就都是null

不能用=判斷某個值是否為null

用 is null/is not null 作為判斷依據

如果欄位有非空約束即 not null 則無法將該字段的值設為null,新增,修改都無法操作

插入null

可以插入一條資料,將某個值設為null

分為隱式插入和顯示插入

隱式插入即為不寫該字段,他就會是預設值null

顯示插入即寫出該欄位,將該字段的值設為null

修改null

可以將一條資料的某乙個欄位的值改為null

例如:update a set gender=null where id=1

1null值的運算操作

null與任何數字運算的結果還是null

null與任何字串拼接還是原來的字串,表示什麼都沒做

空值函式

nvl(a,b)

當a為null時,函式返回b

當a不為null時,函式返回a

即,將空值替換為乙個非空的值。

linux c c 知識點整理 四

當實際長度不夠時,右對齊 如果字串或者整數的長度超過說明的場寬,則按其實際長度輸出 如果是浮點數,若整數部分超過了說明的整數字場寬,則按其實際長度輸出,若是小數部分超過了說明的小數字場寬,則按說明的寬度以四捨五入輸出。例如 printf d d d n a,b,c b,c 那麼將輸出才c,b,c這3...

C C 知識點整理四

斷言,是巨集,而非函式。assert 巨集的原型定義在 c c 中,其作用是如果它的條件返回錯誤,則終止程式執行。可以通過定義ndebug來關閉 assert,但是需要在源 的開頭,include之前。使用assert的缺點是,頻繁的呼叫會極大的影響程式的效能,增加額外的開銷。在函式開始處檢驗傳入引...

知識點整理

一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...