1. 程式人生 > >ORACLE初學第五篇

ORACLE初學第五篇

一、char和varchar的區別
char的查詢速度快,而varchar的查詢速度較慢些
但是char儲存的時候如果資料長度沒有達到設定的長度將會自動以空格填充,而varchar則跟著資料的長度變化:
例如下面的結果:

SQL> select length(userName)as c_len,length(password)as vc_len from t_user;
     C_LEN     VC_LEN
---------- ----------
        20          7
        20         10

二、字元補全函式lpad、rpad(左補全和右補全)

SQL> select rpad(stuno,10,'-') from t_user;
RPAD(STUNO,10,'-')
--------------------
121-------
12121-----
1221------

SQL> select lpad(stuno,10,'"') from t_user;
LPAD(STUNO,10,'"')
--------------------
"""""""121
"""""12121
""""""1221

三、返回字串大小寫

//返回字串大寫upper
select upper(username)from t_user;
//返回字串小寫lower
select lower(username) from t_user //單詞首字元大寫 select initcap(username) from t_user

四、返回字串長度

//length函式char型別是自己設定的長度例如:char(8)字串長度是8
select length(password) from t_user

五、擷取字串

//字串的預設是從1開始,和其他語言,像JAVA預設從零開始不一樣
SQL> select substr(username,1,2) from t_user;
SUBSTR(USERNAME,1,2)
--------------------
he
yy
sa
ja

六、查詢字串在字串中出現的位置
INSTR(PASSWORD,’23’,1,1)中的第三個引數是開始從索引為幾的地方查詢,第四個引數是查詢第幾次出現

SQL> select instr(password,'23',1,1) from t_user;
INSTR(PASSWORD,'23',1,1)
------------------------
                       2
                       2
                       2
                       2

七、去掉字串的的空格

SQL> select ltrim(username)from t_user;
LTRIM(USERNAME)
--------------------
heNN
yyyTTT
sad
java1234

SQL> select rtrim(username) from t_user;
RTRIM(USERNAME)
--------------------
heNN
  yyyTTT
sad
  java1234
SQL> select trim(username) from t_user;
TRIM(USERNAME)
--------------------
heNN
yyyTTT
sad
java1234
//注意:trim比較常用

八、串聯和反轉字串

//串聯字串
SQL> select concat(username,password) from t_user;
CONCAT(USERNAME,PASSWORD)
----------------------------------------
heNN                123456
  yyy TTT           123456
sad                 123456
  java  1234        123456
 //反轉字串
 SQL> select reverse(username) from t_user;
REVERSE(USERNAME)
--------------------
                NNeh
           TTT yyy
                 das
        4321  avaj