ORACLE初學第五篇
阿新 • • 發佈:2018-12-30
一、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