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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值