天天看點

sql

CAST()函數,把一個字段轉成另一個字段,比起orcale,MySQL相比之下就簡單得多了,隻需要一個Cast()函數就能搞定。其文法為:Cast(字段名 as 轉換的類型 ),

主流資料庫系統都支援COALESCE()函數,這個函數主要用來進行空值處理,其參數格式如下:

COALESCE ( expression,value1,value2……,valuen)

COALESCE()函數的第一個參數expression為待檢測的表達式,而其後的參數個數不定。

COALESCE()函數将會傳回包括expression在内的所有參數中的第一個非空表達式。

如果expression不為空值則傳回expression;否則判斷value1是否是空值,

如果value1不為空值則傳回value1;否則判斷value2是否是空值,

如果value2不為空值則傳回value2;……以此類推,

如果所有的表達式都為空值,則傳回NULL。

文法:date_sub(date,interval expr type),函數從日期減去 指定的時間間隔,

舉例:Orders 表中 OrderDate 字段減去 2 天:

select OrderId,date_sub(OrderDate,interval 2 day) as OrderPayDate

from Orders

date_sub('2019-07-27', interval 30 day)表示往前推30天;

to_char to_timestamp to_date

其中Cast的函數用于轉換類型。

Cast(字段名 as 轉換的類型 ) decimal(5,2)中的“2”表示小數部分的位數,如果插入的值未指定小數部分或者小數部分不足兩位則會自動補到2位小數,若插入的值小數部分超過了2為則會發生截斷,截取前2位小數。

“5”指的是整數部分加小數部分的總長度,也即插入的數字整數部分不能超過“5-2”位,否則不能成功插入,會報超出範圍的錯誤。

x指要處理的數,d是指保留幾位小數

這裡有個值得注意的地方是,d可以是負數,這時是指定小數點左邊的d位整數位為0,同時小數位均為0;

explain select * from t_user

mysql沒有to_date,to_char函數,日期和字元串進行轉化,使用str_to_date,date_format函數

oracle的字元和日期互轉

-oracle資料庫, 如何查詢Date類型資料?

-使用TO_DATE函數, 将字元串轉換為Date

--date類型的資料, 隻有年月日時分秒

-oracle資料庫, 如何查詢TimeStamp類型資料?

--使用TO_CHAR函數, 将timestamp類型轉換成字元串

to_char(date,需要把date轉化為展現出來的格式)

mysql中的索引是從1開始,substring(str, pos); substring(str, pos, len)

② public String substring(int beginIndex, int endIndex)

這個方法截取的字元串從beginIndex開始,到字元串索引的endIndex - 1結束

oracle截取

replace(uuid(),'-','')   ---->将uuid()中的‘-’,去掉,即替換成空串