dual虛擬表的基礎語句

2021-10-02 01:35:42 字數 2992 閱讀 8890

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...