《黑执事》双生子篇((SQL版)平行世界与幻想线)第1话 :SQL常用语句大全(超重要合集)(9)
SELECT INITCAP(ename) FROM emp ;
字符串除了可以使用“||”连接之外,还可以使用 CONCAT()函数进行连接操作。
SELECT CONCAT('hello ','world') FROM DUAL ;
此时已经完成了连接,但是此种方式肯定不如“||”好使。
在字符函数中可以进行字符串的截取、求出字符串的长度、进行指定内容的替换
· 字符串截取:substr()
· 字符串长度:length()
· 内容替换:replace()
SELECT substr('hello',1,3) 截取字符串 , length('hello') 字符串长度 , replace('hello','l','x') 字符串替换 FROM DUAL ;
· Oracle 中 substr()函数的截取点是从 0 还是从 1 开始。
从 0 或从 1 开始效果是一样的,因为 Oracle 比较智能。
范例:要求显示所有雇员的姓名及姓名的后三个字符
(因为雇员姓名的字符串长度不一样,所以只能求出整个的长度再减去 2,这样进行截取操作。)
SELECT ename,SUBSTR(ename,LENGTH(ename)-2) FROM emp ;
(此时,功能已经实现了,但是操作比较麻烦。实际上在 substr()函数中提供了一种非常方便的机制,可以采用倒着截取的方式,只要输入的位置是负数就表示倒着进行。)
SELECT ename,SUBSTR(ename,-3,3) FROM emp ;
数值函数数值函数只要是包含以下几种:
· 四舍五入:ROUND()
· 截断小数位:TRUNC()
· 取余(取模):MOD
范例:执行四舍五入操作
SELECT ROUND(789.536) FROM dual ;
当然,在 ROUND()函数中也可以指定四舍五入的位数
范例:保留两位小数
SELECT ROUND(789.536,2) FROM dual ;
在使用 ROUND()函数中还有一点非常有意思,可以直接对整数进行四舍五入的进位。
SELECT ROUND(789.536,-2) FROM dual ;
TRUNC()与 ROUND()不同的是,在 TRUNC()操作中,不会保留任何的小数,而且小数点也不会执行四舍五入的操作。
范例:验证 TRUNC()函数