oracle的sql语句使用记录-单引号双引号

本文探讨了在SQL建表时使用双引号与不使用引号对字段名大小写的影响。使用双引号创建的表会严格保持字段名的大小写,而不使用引号则会导致字段名变为大写。在查询时,双引号确保查询语句中的大小写匹配,不使用引号则会转换为大写。单引号主要用在标识字符串,对查询字段大小写不敏感。文章还提供了新增字段和插入数据的示例。

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

单引号和双引号

使用带双引号的建表语句创建的表

#双引号创建表,字段名非全大写
CREATE TABLE "UCDS"."CAMPAIGN_EARLY_WARNING1"
   (    "ent_id" VARCHAR2(64) DEFAULT NULL,
    "call_abandonment_rate" NUMBER DEFAULT NULL,
    "vacancy_rate" NUMBER DEFAULT NULL
   )
 
#双引号建表,字段名全大写
CREATE TABLE "UCDS"."CAMPAIGN_EARLY_WARNING3"
   (    "ENT_ID" VARCHAR2(64) DEFAULT NULL,
    "CALL_ABANDONMENT_RATE" NUMBER DEFAULT NULL,
    "VACANCY_RATE" NUMBER DEFAULT NULL
   )

查看表设计,可发现字段名和建表语句中的一样

双引号字段名信息

查询(使用不同的方式查询,对比效果)

双引号查询
分别查询大写字段和小写字段
不带引号查询
不带引号查询
单引号查询
单引号查询

不带引号建表

CREATE TABLE CAMPAIGN_EARLY_WARNING2
( ent_id VARCHAR2(64) DEFAULT NULL,
call_abandonment_rate NUMBER DEFAULT NULL,
vacancy_rate NUMBER DEFAULT NULL
)

表设计,可发现字段名由小写变成了大写

不带引号的表设计

查询

双引号查询
双引号拆线呢
不带引号查询
不带引号查询
单引号查询
单引号查询

结论

建表

  • 使用双引号创建的表字段,字段的大小写和建表语句一致,不发生任何变化;
  • 不使用引号创建表时,无论建表语句中是大写还是小写,最终创建的表设计都是大写

查询

  • 使用双引号查询,字段的大小写和填写的一致。不发生任何变化。填写大写就查询的大写,填写小写就查询的小写;
    不使用引号查询,无论查询语句中填入的字段名是大写还是小写。最终都会转换成大写进行查询;
  • 使用单引号查询,无论字段名称是大写还是小写,单引号里的查询字段是大写还是小写。均能查到结果。【前提是查询项的值需要是字符串】

*** 双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意Oracle将严格区分大小写,否则Oracl都默认大写。

而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写。
单引号用于标识字符与数字的区别
当指定字符串文本时,必须用单引号将字符串文本引住。
注意: 没有进行大小写混用的测试 ***

新增字段和插入语句示例

新增字段示例

ALTER TABLE "GLS_ENTERPRISE_INFO" ADD ENTERPRISETYPE NUMBER(4) DEFAULT 0;

插入数据示例

INSERT INTO "CCOD"."GLS_SD_DB_ENT_RELATE" ("ENT_ID", "DB_NAME") VALUES ('72001', 'portalB');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值