數學函式
1.絕對值
s:select abs(-1) value
o:select abs(-1) value from dual
2.取整(大)
s:select ceiling(-1.001) value
o:select ceil(-1.001) value from dual
3.取整(小)
s:select floor(-1.001) value
o:select floor(-1.001) value from dual
4.取整(擷取)
s:select cast(-1.002 as int) value
o:select trunc(-1.002) value from dual
5.四捨五入
s:select round(1.23456,4) value 1.23460
o:select round(1.23456,4) value from dual 1.2346
6.e為底的冪
s:select exp(1) value 2.7182818284590451
o:select exp(1) value from dual 2.71828182
7.取e為底的對數
s:select log(2.7182818284590451) value 1
o:select ln(2.7182818284590451) value from dual; 1
8.取10為底對數
s:select log10(10) value 1
o:select log(10,10) value from dual; 1
9.取平方
s:select square(4) value 16
o:select power(4,2) value from dual 16
10.取平方根
s:select sqrt(4) value 2
o:select sqrt(4) value from dual 2
11.求任意數為底的冪
s:select power(3,4) value 81
o:select power(3,4) value from dual 81
12.取隨機數
s:select rand() value
o:select sys.dbms_random.value(0,1) value from dual;
13.取符號
s:select sign(-8) value -1
o:select sign(-8) value from dual -1
14.圓周率
s:select pi() value 3.1415926535897931
o:不知道
15.sin,cos,tan 引數都以弧度為單位
例如:select sin(pi()/2) value 得到1(sqlserver)
16.asin,acos,atan,atan2 返回弧度
17.弧度角度互換(sqlserver,oracle不知道)
degrees:弧度->角度
radians:角度->弧度
數值間比較
18. 求集合最大值
s:select max(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a
o:select greatest(1,-2,4,3) value from dual
19. 求集合最小值
s:select min(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a
o:select least(1,-2,4,3) value from dual
20.如何處理null值(f2中的null以10代替)
s:select f1,isnull(f2,10) value from tbl
o:select f1,nvl(f2,10) value from tbl
21.求字元序號
s:select ascii('a') value
o:select ascii('a') value from dual
22.從序號求字元
s:select char(97) value
o:select chr(97) value from dual
23.連線
s:select '11'+'22'+'33' value
o:select concat('11','22') 33 value from dual
23.子串位置 --返回3
s:select charindex('s','sdsq',2) value
o:select instr('sdsq','s',2) value from dual
23.模糊子串的位置 --返回2,引數去掉中間%則返回7
s:select patindex('%d%q%','sdsfasdqe') value
o:oracle沒發現,但是instr可以通過第四個引數控制出現次數
select instr('sdsfasdqe','sd',1,2) value from dual 返回6
24.求子串
s:select substring('abcd',2,2) value
o:select substr('abcd',2,2) value from dual
25.子串代替 返回aijklmnef
s:select stuff('abcdef', 2, 3, 'ijklmn') value
o:select replace('abcdef', 'bcd', 'ijklmn') value from dual
資料遷移 從SqlServer到Oracle
要把sqlserver中的資料遷移到oracle有多種方法。如果資料量小,可以直接使用sql語句生成器 sqldatatoscript.exe 直接生成sql語句。如果資料量大,建議使用sql loader工具進行資料遷移。具體步驟如下 1.建立中間庫表。之所以需要建立中間庫表是因為,sqlserv...
SQLServer表結構轉換成Oracle表結構
function sqlserver 表結構轉換成oralce 表結構,不支援索引以及自動增長 取消影響行數 set nocount on 建立表名游標 declare table cursor cursor for select convert varchar 300 x.name name,co...
oracl 分頁語句
select from select rownum en,ta.from select ri.info detail type,ri.info num,rmx.reagent num,ri.info batch,ri.info lot,ri.info icebox,ri.info store dat...