学习回顾oracle系统函数(1)

来源:互联网 发布:淘宝钻石展位多少钱 编辑:程序博客网 时间:2024/06/16 12:42

1、求字符串的长度length(string)
length函数求函数字符串的长度。返回一个数值,对应输入字符串的字符个数。
eg:

select LENGTH('TEST') AS length from dual

输出
4

2、获取字符串中的子串substr(string, start,[count])
substr返回”string”中截取的一部分。该命令截取”string”的一个子集,从“start”位置开始,截取”count”个字符。如果不指定”count”,则从”start”开始截取到”string”的尾部。如果count过于大,也是截取到”string”的尾部。
eg:

select substr('wuzhiming', 3, 100) AS name from dual

返回
wuzhiming

3、更替字符串中的子串replace(src, substr, dststr)
replace函数用于将src字符串中所有substr子串替换为dststr。

eg:

select replace('huzhiming', 'hu', 'wu') AS name from dual

结果
wuzhiming

4、删除字符串前后字符串(ltrim和rtrim)
如果字符串中包含前导或尾部空格,按某指定值对列进行查询,很可能返回错误结果。
用法ltrim/rtirm(srcstring, cutstring)
去除字符串srcstring左右对应的字符串cutstring,如果有cutstring则去除cutstirng,否则srcstring不变。
eg:

select ltrim('    abcd', ' ') as xxx from dual

结果
abcd

5、左填充函数lpad(srcstring, n, pad_string)
其中:
srcstring为需要左填充的字符串
n为lpad返回的字符串长度。
pad_string为左填充到string的字符或者字符串,如果没有输入,且n大于srcstring的长度,在srcstring前面填充空格符。
eg:

select lpad('zhiming', 9, 'wu') as xxx from dual

结果
wuzhiming

6、改变字符串的大小写
oracle提供了三个改变字符串大小写的函数:
1)initcap(string)转换每个字的第一个字符为大写。
2)lower(string)转换所有字符为小写。
3)upper(string)转换所有字符为大写。
eg:

select initcap('zhiming is handsome') as xxx from dual

结果
Zhiming Is Handsome

select upper('zhiming is handsome') as xxx from dual

结果
ZHIMING IS HANDSOME

select lower('ZHIMING IS HANDSOME') as xxx from dual

结果
zhiming is handsome

7、值转换函数转换字符串(decode)
decode语法:
decode(expression, value1, return_value1,…,valuen,return_valueN,[defult_returned_value]
eg

select user_roles, decode(user_roles, 1, '管理员', 2, '普通用户', '普通用户') as role from users

当user_roles为1时,role这一列显示为管理员。为2时,显示未普通用户,其他值也显示为普通用户。

7、转换字符串位ASCII值
用法SCAII(srcstring)

8、当前日期和时间(sysdate)
sysdate返回一个当前时间戳
eg:

select sysdate from dual

结果
2017/11/6 17:01:31

9、转换日期未字符串(to_char)
语法:
to_char(date_vale,format)

eg:

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual

结果
2017-11-06 17:10:30

9、转换字符串位日期(to_date)
用法
to_date(string_value, date_format)

eg:

select to_date('11-06-2017 17:15:56', 'MM-DD-YYYY hh24:mi:ss') from dual

结果
11-06-2017 17:15:56的timestamp值

10、将字符串转换成数字(to_number)
to_number是to_char的逆运算

原创粉丝点击