oracle中一些詞語的使用(union與union all ,rpad,cast)
union把兩條記錄合并成一個查詢,但是前提,所選的記錄的兩個表的字段名要一致。
union和union all的區別是,union會自動壓縮多個結果集合中的重復結果,同時進行默認規則的排序。而union all則將所有的結果全部顯示出來,不管 是不是重復,不排序。
2.rpad與lpad區別
Lpad()函數的用法:
lpad函數將左邊的字符串填充一些特定的字符其語法格式如下:
lpad(string,n,[pad_string])
string:可是字符或者參數
n:字符的長度,是返回的字符串的數量,如果這個數量比原字符串的長度要短,lpad函數將會把字符串截取成從左到右的n個字符;
pad_string:是個可選參數,這個字符串是要粘貼到string的左邊,如果這個參數未寫,lpad函數將會在string的左邊粘貼空格。
例如:
lpad('tech', 7); 將返回' tech'
lpad('tech', 2); 將返回'te'
lpad('tech', 8, '0'); 將返回'0000tech'
lpad('tech on the net', 15, 'z'); 將返回 'tech on the net'
lpad('tech on the net', 16, 'z'); 將返回 'ztech on the net'
Rpad()函數的用法:
rpad函數將右邊的字符串填充一些特定的字符其語法格式如下:
rpad(string,n,[pad_string])
string:可是字符或者參數
n:字符的長度,是返回的字符串的數量,如果這個數量比原字符串的長度要短,lpad函數將會把字符串截取成從左到右的n個字符;
pad_string:是個可選參數,這個字符串是要粘貼到string的右邊,如果這個參數未寫,lpad函數將會在string的右邊粘貼空格。
例如:
rpad('tech', 7); 將返回' tech'
rpad('tech', 2); 將返回'te'
rpad('tech', 8, '0'); 將返回'tech0000'
rpad('tech on the net', 15, 'z'); 將返回 'tech on the net'
rpad('tech on the net', 16, 'z'); 將返回 'tech on the netz'
3.to_number字符串轉換
oracle中函數用to_number('321312','99999999')
4.cast
是進行類型轉換的, 可以針對各種Oracle數據類型. 修改的是用戶的數據類型.
round只是修改的數據顯示格式. 對數據做四舍五入. 類似的函數還有ceil(取此數據的最小整數). trunc( 取整函數.)
SQL> create table t1(a varchar(10));
Table created.
SQL> insert into t1 values ('12.3456');
1 row created.
SQL> select round(a) from t1;
ROUND(A)
----------
12
SQL> select round(a,3) from t1;
ROUND(A,3)
----------
12.346
SQL> select cast(a as int) from t1;
CAST(AASINT)
------------
12
SQL> select cast(a as number(8,4)) from t1;
CAST(AASNUMBER(8,4))
--------------------
12.3456