Oracle的单引号“ ' ”与双引号“ " " ”的区别与在日期的应用的不同

Oracle数据库中,双引号用于标识字段名保持大小写不变,如`ENAME`,查询时需用双引号包围。在日期处理中,双引号内的内容会被视为字符串。例如`TO_CHAR()`会忽略双引号,导致`'hh24"时"mi"分"ss"秒"'`返回字符串。单引号主要用于表示字符常量,也可用于转义,实现特殊字符的插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

1.双引号

在Oracle建表中,数据库会自动将字段名小写字母转换成大写字母,如果在字段名中加双引号,则是提醒数据库,保持不变,为小写字母,严格区分大小写。比如你数据库有个字段名为ename,怎么查询?
你得用

select "ename" from table;

如果这样,得到的结果为ename这个字符串

select 'ename' from table;

在日期中,可能会有这样的应用,这个得到的结果为 hh24"时"mi"分"ss"秒",这样一个字符串罢了

select 'hh24"时"mi"分"ss"秒"' result from dual;

在这里插入图片描述
但是如果这样,得到的就不一样了,就是 15时24分47秒,这样的结果,是因为to_char()会忽略双引号

select toChar(sysdate,'hh24"时"mi"分"ss"秒"') result from dual;

在这里插入图片描述

2.单引号

单引号据俺所知,有2种作用,一是表示字符常量,二是转义 在这里讲解转义
转义的作用时按照就近原则进行匹配,下面按例子讲解

select '''' from dual;//最外层的单引号表示字符常量,里面2个单引号,第一个为转义,将第二个单引号进行转义

在这里插入图片描述

select 'ssss''''' result from dual;//外面是字符常量,里面有4个单引号,按照上面的规则进行匹配,转义2个单引号

在这里插入图片描述

select 'ssss'||'''' result from dual;//这个||是连接符,按照就近原则,前面是ssss,后面外层是字符常量,里面将一个单引号转义,通过连接符连接起来

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值