oracle(12)_SQL_单行函数_转换函数
SQL
单行函数
转换函数
● TO_CHAR:字符串转换函数
范例:查询所有的雇员的入职日期,并将年月日分开,此时可以使用 TO_CHAR 函数来拆分
- 拆分时需要使用通配符
年:y,年是四位使用 yyyy
月:m,月是两位使用 mm
日:d,日是两位使用 dd
时:HH
分:mi
秒:ss - 示例图:
范例:得到当前日期
- 示例图
范例:查询入职日期,在结果中 10 以下的月前面被补了前导零,可以使用 fm 去掉前导零
- 示例图:
范例:把雇员的工资按三位用 “ , ” 分隔,在 oracle 中 “ 9 ” 代表一位数字
- TO_CHAR 还可以给数字做格式化
- 如果在钱的前面加上国家的符号可以使用 “ $ ” 代表是美元,如果要使用本地的钱的单位使用 “L”
- 示例图:
● TO_NUMBER:数值转换函数
- TO_NUMBER 可以把字符串转换成数值
- 示例图:
● TO_DATE:日期转换函数
- TO_DATE 可以把字符串的数据转换成日期类型
- 示例图:
以上操作完整源码:
--拆分年月日
select ename,
to_char(hiredate, 'yyyy') 年,
to_char(hiredate, 'mm') 月,
to_char(hiredate, 'dd') 日,
to_char(hiredate, 'HH') 时,
to_char(hiredate, 'mi') 分,
to_char(hiredate, 'ss') 秒
from emp;
--得到当前时间(24进制)
select to_char(sysdate, 'yyyy-mm-dd HH24:mi:ss') from dual;
--得到当前时间(12进制)
select to_char(sysdate, 'yyyy-mm-dd HH:mi:ss') from dual;
--查询入职日期,以指定格式显示
select ename, to_char(hiredate, 'yyyy-mm-dd') from emp;
--查询入职日期,以指定格式显示,去掉前导零
select ename, to_char(hiredate, 'fmyyyy-mm-dd') from emp;
--查询工资,三位一分,并加上 $ 符号
select ename , to_char(sal, '$99,999') from emp;
--查询工资,三位一分,并加上 ¥ 符号
select ename , to_char(sal, 'l99,999') from emp;
--字符串数值转数值
select to_number('10') + to_number('10') from dual;
--日期的格式转换
select to_date('1985-04-22', 'yyyy-mm-dd') from dual;
select to_date('1985-04-22 12:30:20', 'yyyy-mm-dd HH24:mi:ss') from dual;
如有错误,欢迎指正!