1. 随机数生成
dbms_random.value()
是 Oracle 数据库中的一个函数,用于生成一个随机小数(范围:0 <= x < 1
)。
示例:
1 2
| SELECT dbms_random.value() FROM dual;
|
注意:
2. 字符型单行函数
字符型单行函数用于处理字符串数据,常见的函数包括:
(1)ASCII
和 CHR
ASCII
:返回字符的 ASCII 码值。
CHR
:根据 ASCII 码值返回对应的字符。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| SELECT ASCII('A') FROM dual;
SELECT CHR(65) FROM dual;
SELECT CHR(10) FROM dual;
SELECT '''' FROM dual; SELECT CHR(39) FROM dual;
SELECT CHR(39) || CHR(39) FROM dual;
|
(2)大小写转换
LOWER
:将字符串转换为小写。
UPPER
:将字符串转换为大写。
INITCAP
:将每个单词的首字母大写,其余字母小写。
1 2 3 4 5 6 7 8
| SELECT LOWER('HELLO') FROM dual;
SELECT UPPER('hello') FROM dual;
SELECT INITCAP('hello world') FROM dual;
|
(3)字符串连接
CONCAT
:连接两个字符串。
||
:连接多个字符串。
1 2 3 4 5
| SELECT CONCAT('Hello, ', 'World!') FROM dual;
SELECT 'Hello, ' || 'World!' || ' Welcome!' FROM dual;
|
(4)字符串截取
1 2 3 4 5 6 7 8
| SELECT SUBSTR('Hello, World', 3) FROM dual;
SELECT SUBSTR('Hello, World', 3, 2) FROM dual;
SELECT SUBSTR('Hello, World', -3) FROM dual;
|
(5)字符串长度
1 2
| SELECT LENGTH('Hello, World') FROM dual;
|
(6)字符串查找
1 2 3 4 5
| SELECT INSTR('Hello, World', 'World') FROM dual;
SELECT INSTR('Hello, World', 'l', 4, 2) FROM dual;
|
(7)字符串修剪
TRIM
:去除字符串首尾的空格或指定字符。
LTRIM
:去除字符串左侧的空格或指定字符。
RTRIM
:去除字符串右侧的空格或指定字符。
1 2 3 4 5 6 7 8 9 10 11
| SELECT TRIM(' Hello, World ') FROM dual;
SELECT TRIM('h' FROM 'hhhhellophp') FROM dual;
SELECT LTRIM('hhhhellophp', 'h') FROM dual;
SELECT RTRIM('hellophph', 'h') FROM dual;
|
(8)字符串补齐
LPAD
:在字符串左侧补齐指定字符。
RPAD
:在字符串右侧补齐指定字符。
1 2 3 4 5
| SELECT LPAD('90', 5, '*') FROM dual;
SELECT RPAD('90', 5, '*') FROM dual;
|
(9)字符串替换
REPLACE
:替换子字符串。
TRANSLATE
:一对一替换字符。
1 2 3 4 5
| SELECT REPLACE('Hello, C++', 'C++', 'Java') FROM dual;
SELECT TRANSLATE('ilovegaoyuanyuan', 'yg', '-*') FROM dual;
|
3. 综合示例
以下是一些综合示例,展示了字符型单行函数的实际应用。
(1)员工名字的首字母大写
1 2 3 4 5
| SELECT ename, INITCAP(ename) FROM tmp_emp WHERE deptno = 10 ORDER BY ename;
|
(2)员工名字的后三个字符
1 2 3
| SELECT ename, SUBSTR(ename, -3) FROM tmp_emp;
|
总结
- 随机数生成:
dbms_random.value()
。
- 字符与 ASCII 码转换:
ASCII
和 CHR
。
- 大小写转换:
LOWER
、UPPER
和 INITCAP
。
- 字符串连接:
CONCAT
和 ||
。
- 字符串截取:
SUBSTR
。
- 字符串长度:
LENGTH
。
- 字符串查找:
INSTR
。
- 字符串修剪:
TRIM
、LTRIM
和 RTRIM
。
- 字符串补齐:
LPAD
和 RPAD
。
- 字符串替换:
REPLACE
和 TRANSLATE
。