dual虛擬表是為了完成select的語法
–獲取系統時間
select sysdate from dual;
–獲取系統日期
select current_timestamp from dual;
–將日期轉換成字串
select to_char(sysdate,『yyyy-mm-dd hh24』) from dual;
– 將字串轉換成日期
select to_date(『2019-09-11』,『yyyy-mm-dd』) from dual;
–新增月份
select add_months(sysdate,3) from dual;
–獲取乙個月中的最後一天
select last_day(to_date(『2018-08-08』,『yyyy-mm-dd』)) from dual;
–計算兩個日期之間的月份差
select months_between(sysdate,to_date(『2018-08-08』,『yyyy-mm-dd』)) from dual;
– 計算下個星期的具體日期
select next_day(sysdate,1) from dual;
select next_day(to_date(『2018-08-08』,『yyyy-mm-dd』),1) from dual;
–extract 獲取部分日期
–獲取年 月 日
select sysdate from dual;
select to_date(『2018-08-08 08:08:08』,『yyyy-mm-dd hh24:mi:ss』) from dual;
select extract(year from sysdate) from dual;
select extract(month from sysdate) from dual;
select extract(day from sysdate) from dual;
– 獲取時 分 秒
select extract(minute from to_timestamp(『2011-02-04 15:07:00』,『yyyy-mm-dd hh24:mi:ss』)) from dual;
–獲取絕對值
select abs(-1) from dual;
– x的y次方
select power(2,3) from dual;
–取模select mod(10,3) from dual;
–四捨五入
select round(3.3333) from dual;
–開平方
select sqrt(100) from dual;
–向上取整
select ceil(3.333) from dual;
–向下取整
select floor(3.55555) from dual;
– y 不寫, x 取整
select trunc(3.33) from dual;
– y 為正數, x保留y小數
select trunc(3.33333,2) from dual;
– y為負數 小數點左邊y位變0
select trunc(33333.33333,-3) from dual;–33000
–獲取當前日期
select trunc(sysdate,『dd』) from dual;
–獲取當前月的第一天
select trunc(sysdate,『mm』) from dual;
select trunc (sysdate, 『dd』), --當天
trunc (sysdate, 『mm』), --本月第一天
trunc (sysdate, 『yyyy』), --本年第一天
trunc (sysdate, 『day』), --本週第一天
trunc (sysdate, 『q』) --本季度第一天
from dual;
– 將數字轉換成字元
select chr(97) from dual;
–將字元轉換成數字
select ascii(『a』) from dual;
–連線字串
select concat(『aaaaa』,『b』) from dual;
–刪除左邊空格
select ltrim(』 aaa ') from dual;
–轉換成大寫
select upper(『aabb』) from dual;
–轉換成小寫
select lower(『aabb』) from dual;
–替換 aabcdefg
select replace(『abcdefg』,『a』,『aa』) from dual;
– 替換 b–b f–中 c–』』
select translate(『abcdefg』,『bfc』,『b中』) from dual;
– 右邊擷取
–擷取x長度
select rpad(『abcdefg』,3) from dual;
– 擷取x長度, 原來長度不夠, 用字元替換,補齊x位
select rpad(『abcdefg』,10,『12345678』) from dual;
–select lpad(『abcdefg』,3) from dual;
–左邊空格補齊x位
select lpad(『abcdefg』,10) from dual;
–左邊填充
select lpad(『abcdefg』,10,『123456789』) from dual;
–獲取長度
select length(『abcdefg』) from dual;
–擷取子串 索引從1開始
select substr(『abcdefg』,2) from dual;
–從索引開始, 擷取y個數
select substr(『abcdefg』,2,4) from dual;
Mysql 語法 虛擬表DUAL
在mysql裡也存在和oracle裡類似的dual虛擬表 官方宣告純粹是為了滿足select from.這一習慣問題,mysql會忽略對該錶的引用。你可千萬注意了 select from dual mysql會出錯 1096 沒有使用到表 而oracle 會返回列 du 其值為 x 行為和只有一行記...
dual表的作用
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。1.函式 select to char sysday,yyyy mm dd from dual 查詢系統當前的時間 select sys context userenv terminal from d...
dual表的含義
dual表的含義 進入部門實習時第一次接觸到dual,我還以為還是乙個開發人員建立的乙個普通表 其實是一種虛擬表 還特意去後台找這張表,結果發現這張表有點東西。一 檢視當前使用者,可以執行下面語句 select user from dual 二 用來呼叫系統函式 獲得當前系統時間 select to...