- 转换函数:
分为隐式转换和显示转换两种。
隐式转换用于字符和数值互转,字符和日期互转
varchar2 or char --> number, varchar2 or char --> date
number --> varchar2, date-->varchar2
select * from emp where empno = to_number('8000');
select * from emp where hiredate = '20-2月-1981'
尽管数据类型之间可以进行隐式转换,但仍建议使用显示转换,以保持良好的设计风格
select '999'-10 from dual;
- to_char(date,'fmt')
格式元素 含义
YYYY,YY 代表四位,两位数字的年份
MM 用数组表示的月份
MON 月份的缩写,对中文月份表全称
用于将日期或时间戳转换成varchar2类型字符串,如果指定了格式字符串,则用它控制结果的结果。
格式字符串由格式元素构成。格式控制穿必须用单引号括起来。
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
- to_char函数操作数字:to_char(num,format)
* 用于将number类型参数转换为varchar2类型,指定format控制转换。
控制符 含义
9 代表一位数字,如果该位没有数组则不显示,小数位强制显示
0 代表一位数字,如果该位没有数字则强制显示
$ 显示美元符号
L 显示本地货币符号
. 显示小数点
, 显示千分位符号
to_char(123.456789,'9999')
to_char(123.456789,'0000.00')
to_char(123.456789,'$0000.00')
to_char(123.456789,'L0000.00')
to_char(123.456789,'999,999,999')
- 显示转换:
to_char():当由数值或日期转成字符串时,必须要规定格式。
- to_number(string format):转成数字
将char或varchar2类型的string转换为number类型。
select to_number('$39343.783','$99990.000') from dual; $39343.783
select to_number('11.231','999.999') from dual;
- to_date(string format):转成日期
将char或varchar2类型的string转换为date类型。
select to_date('04,05,19,10,23,44','yy,mm,dd,hh12,mi,ss');
select to_date('2022-05-28','yyyy-mm-dd') from dual;
- 单行函数嵌套:
单行函数可被嵌入任何曾。
嵌套函数从最深层到最低层求值。
select ename,nvl(to_char(mgr),'boss') from emp where mgr is null;
select hiredate,next_day(add_months(hiredate,6),'星期五') from emp;
- 其他函数:decode ,case when(条件函数)
decode实现:
select ename,sal,deptno,decode(deptno,10,sal*1.1,20,sal*1.2,30,sal*1.3) from emp;
case when实现:
select ename,sal,deptno,case deptno when 10 then sal*1.1 when 20 then sal*1.2 when 30 then sal*1.3 end from emp;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App