oracle(12)_SQL_单行函数_转换函数

版权声明:如需转载,请注明出处 https://blog.csdn.net/qq_36260974/article/details/88697989

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;

如有错误,欢迎指正!

猜你喜欢

转载自blog.csdn.net/qq_36260974/article/details/88697989