Null

select * from tb where col is null
select * from tb where col=''
select * from tb where isnull(col,'')=''
问:什么是NULL?
答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,
    我们称它为空,ORACLE中,含有空值的表列长度为零。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、等价于没有任何值、是未知数。
2、NULL与0、空字符串、空格都不同。
3、对空值做加、减、乘、除等运算操作,结果仍为空。
4、NULL的处理使用NVL函数。
5、比较时使用关键字用“is null”和“is not null”。
6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,
   count(*)中,用nvl(列名,0)处理后再查。
7、排序时比其他数据都大(索引默认是降序排列,小→大),
   所以NULL值总是排在最后。
使用方法:
SQL> select 1 from dual where null=null;
没有查到记录
SQL> select 1 from dual where null='';
没有查到记录
SQL> select 1 from dual where ''='';
没有查到记录
SQL> select 1 from dual where null is null;
        1
---------
        1
SQL> select 1 from dual where nvl(null,0)=nvl(null,0);
        1
---------
        1
对空值做加、减、乘、除等运算操作,结果仍为空。
SQL> select 1+null from dual;
SQL> select 1-null from dual;
SQL> select 1*null from dual;
SQL> select 1/null from dual;
查询到一个记录.
注:这个记录就是SQL语句中的那个null
设置某些列为空值
update table1 set 列1=NULL where 列1 is not null;
现有一个商品销售表sale,表结构为:
month    char(6)      --月份
sell    number(10,2)   --月销售金额
create table sale (month char(6),sell number);
insert into sale values('200001',1000);
insert into sale values('200002',1100);
insert into sale values('200003',1200);
insert into sale values('200004',1300);
insert into sale values('200005',1400);
insert into sale values('200006',1500);
insert into sale values('200007',1600);
insert into sale values('200101',1100);
insert into sale values('200202',1200);
insert into sale values('200301',1300);
insert into sale values('200008',1000);
insert into sale(month) values('200009');
         (注意:这条记录的sell值为空)
commit;
共输入12条记录
SQL> select * from sale where sell like '%';
MONTH       SELL
------ ---------
200001      1000
200002      1100
200003      1200
200004      1300
200005      1400
200006      1500
200007      1600
200101      1100
200202      1200
200301      1300
200008      1000
       
查询到11记录.
结果说明:
查询结果说明此SQL语句查询不出列值为NULL的字段
此时需对字段为NULL的情况另外处理。
SQL> select * from sale where sell like '%' or sell is null;
SQL> select * from sale where nvl(sell,0) like '%';
       
MONTH       SELL
------ ---------
200001      1000
200002      1100
200003      1200
200004      1300
200005      1400
200006      1500
200007      1600
200101      1100
200202      1200
200301      1300
200008      1000
200009
查询到12记录.
Oracle的空值就是这么的用法,我们最好熟悉它的约定,以防查出的结果不正确
INSERT INTO srm.hpfm_employee (employee_num,name,name_en,tenant_id,email,mobile,gender,cid,quick_index,phoneticize,status,enabled_flag,object_version_number,creation_date,created_by,last_update_date,last_updated_by,attribute1,attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,attribute8,attribute9,attribute10,attribute11,attribute12,attribute13,attribute14,attribute15,entry_date,attribute_varchar1,attribute_varchar2,attribute_varchar3,attribute_varchar4,attribute_varchar5,attribute_varchar6,attribute_varchar7,attribute_varchar8,attribute_varchar9,attribute_varchar10,attribute_varchar11,attribute_varchar12,attribute_varchar13,attribute_varchar14,attribute_varchar15,attribute_varchar16,attribute_varchar17,attribute_varchar18,attribute_varchar19,attribute_varchar20,attribute_varchar21,attribute_varchar22,attribute_varchar23,attribute_varchar24,attribute_varchar25,attribute_varchar26,attribute_varchar27,attribute_varchar28,attribute_varchar29,attribute_varchar30,attribute_varchar31,attribute_varchar32,attribute_varchar33,attribute_varchar34,attribute_varchar35,attribute_varchar36,attribute_varchar37,attribute_varchar38,attribute_varchar39,attribute_varchar40,attribute_longtext1,attribute_longtext2,attribute_longtext3,attribute_longtext4,attribute_longtext5,attribute_longtext6,attribute_longtext7,attribute_longtext8,attribute_longtext9,attribute_longtext10,attribute_bigint1,attribute_bigint2,attribute_bigint3,attribute_bigint4,attribute_bigint5,attribute_bigint6,attribute_bigint7,attribute_bigint8,attribute_bigint9,attribute_bigint10,attribute_bigint11,attribute_bigint12,attribute_bigint13,attribute_bigint14,attribute_bigint15,attribute_bigint16,attribute_bigint17,attribute_bigint18,attribute_bigint19,attribute_bigint20,attribute_bigint21,attribute_bigint22,attribute_bigint23,attribute_bigint24,attribute_bigint25,attribute_bigint26,attribute_bigint27,attribute_bigint28,attribute_bigint29,attribute_bigint30,attribute_tinyint1,attribute_tinyint2,attribute_tinyint3,attribute_tinyint4,attribute_tinyint5,attribute_tinyint6,attribute_tinyint7,attribute_tinyint8,attribute_tinyint9,attribute_tinyint10,attribute_tinyint11,attribute_tinyint12,attribute_tinyint13,attribute_tinyint14,attribute_tinyint15,attribute_tinyint16,attribute_tinyint17,attribute_tinyint18,attribute_tinyint19,attribute_tinyint20,attribute_decimal1,attribute_decimal2,attribute_decimal3,attribute_decimal4,attribute_decimal5,attribute_decimal6,attribute_decimal7,attribute_decimal8,attribute_decimal9,attribute_decimal10,attribute_decimal11,attribute_decimal12,attribute_decimal13,attribute_decimal14,attribute_decimal15,attribute_decimal16,attribute_decimal17,attribute_decimal18,attribute_decimal19,attribute_decimal20,attribute_decimal21,attribute_decimal22,attribute_decimal23,attribute_decimal24,attribute_decimal25,attribute_decimal26,attribute_decimal27,attribute_decimal28,attribute_decimal29,attribute_decimal30,attribute_datetime1,attribute_datetime2,attribute_datetime3,attribute_datetime4,attribute_datetime5,attribute_datetime6,attribute_datetime7,attribute_datetime8,attribute_datetime9,attribute_datetime10,attribute_datetime11,attribute_datetime12,attribute_datetime13,attribute_datetime14,attribute_datetime15,attribute_datetime16,attribute_datetime17,attribute_datetime18,attribute_datetime19,attribute_datetime20,attribute_date1,attribute_date2,attribute_date3,attribute_date4,attribute_date5,attribute_date6,attribute_date7,attribute_date8,attribute_date9,attribute_date10,attribute_date11,attribute_date12,attribute_date13,attribute_date14,attribute_date15,attribute_date16,attribute_date17,attribute_date18,attribute_date19,attribute_date20,superior_employee_id,birthday) VALUES ('E005038','蔡婷婷','CaiTingting',544,'Chang_He@xmcwh.com','115327269873',0,NULL,'|ctt|','|caitingting|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20000060,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E005037','吴鹏飞','WuPengfei',544,'Chang_He@xmcwh.com','113667242501',1,NULL,'|wpf|','|wupengfei|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20000052,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E005024','汪光国','WangGuangguo',544,'Chang_He@xmcwh.com','117362993649',1,NULL,'|wgg|','|wangguangguo|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20011084,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E005042','肖丽丝','XiaoLisi',544,'Chang_He@xmcwh.com','115528110649',0,NULL,'|xls|','|xiaolisi|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20000056,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E005036','陈仕杰','ChenShijie',544,'Chang_He@xmcwh.com','113638640783',1,NULL,'|csj|','|chenshijie|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20011009,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E005046','叶慧','YeHui',544,'Chang_He@xmcwh.com','113476040056',0,NULL,'|xh|yh|','|xiehui|yehui|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20010423,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E002761','况秧','KuangYang',544,'Chang_He@xmcwh.com','113387558601',0,NULL,'|ky|','|kuangyang|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20000060,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E002765','赵文凯','ZhaoWenKai',544,'Chang_He@xmcwh.com','115071390485',1,NULL,'|zwk|','|zhaowenkai|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20000023,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E002769','谢明','XieMing',544,'Chang_He@xmcwh.com','113477572946',1,NULL,'|xm|','|xieming|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20000049,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), ('E002779','邱月','QiuYue',544,'Chang_He@xmcwh.com','115327063998',0,NULL,'|qy|','|qiuyue|','ON',1,17,'2024-10-23 19:37:35',2,'2024-11-06 09:01:16',2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,20010383,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); 这如果插入oracal需要转悍马
最新发布
08-21
<think>好的,我现在需要帮助用户解决将MySQLINSERT语句转换为适用于Oracle的问题。用户提供的INSERT语句插入了大量数据到srm.hpfm_employee表中,并且有多个字段,包括各种属性列和日期、数值类型。用户提到“这如果插入oracal需要转悍马”,这里的“转悍马”可能是“转换”的笔误,因此问题应理解为如何将MySQLINSERT语句调整以在Oracle数据库中正确执行。 首先,我需要回忆MySQLOracleSQL语法上的差异,尤其是INSERT语句部分。常见的差异包括: 1. **字符串引号**:MySQL使用单引号和双引号都可以,但Oracle通常只接受单引号。用户提供的INSERT中字符串值已经用单引号包裹,这可能没问题,但需要检查是否有双引号被误用。 2. **日期和时间字面量**:MySQL可以直接使用字符串表示日期,如'2024-10-23 19:37:35',而Oracle可能需要使用TO_DATE函数显式转换,否则可能会抛出错误,尤其是当日期格式与数据库默认格式不匹配时。 3. **伪列和序列**:如果表中有自增列或使用序列生成的主键,MySQL使用AUTO_INCREMENT,而Oracle通常使用序列(SEQUENCE)和触发器。但在用户提供的INSERT中,似乎没有自增字段,所有字段都有显式值,所以可能不需要处理序列。 4. **大小写敏感性**:Oracle的表名和列名默认是大写的,除非在创建时使用双引号指定。用户提供的表名和列名都是小写,需要确认Oracle中的实际表结构是否匹配,或者是否需要调整大小写。 5. **空值处理**:用户数据中有很多NULL值,这在两种数据库中都适用,但需要确保Oracle中对应字段允许NULL。 6. **批量插入**:MySQLINSERT语句可以一次插入多行,用逗号分隔多个VALUES组。而Oracle在早期版本不支持这种语法,需要拆分为多个INSERT语句,或者使用UNION ALL SELECT的方式。但Oracle 12c及以上版本支持多值插入,不过可能需要启用特定参数或使用其他方法,具体情况需要验证。 7. **特殊字符处理**:例如字段中的竖线符号'|',在Oracle中是否需要转义,不过通常不需要,只要字符串正确用单引号括起来即可。 8. **数据类型匹配**:需要确保插入的数据类型与Oracle表的列类型兼容,例如DECIMAL、VARCHAR2、DATE等,可能需要注意精度和格式。 接下来,我需要逐一检查用户提供的INSERT语句,并指出需要修改的地方: - **日期字段**:如creation_date、last_update_date等,当前是'YYYY-MM-DD HH:MM:SS'格式。Oracle可能需要显式转换为日期类型,使用TO_DATE函数,并指定格式模型,例如TO_DATE('2024-10-23 19:37:35', 'YYYY-MM-DD HH24:MI:SS'),否则可能会因为隐式转换导致错误。 - **批量插入**:如果Oracle版本不支持多VALUES子句,需要拆分每个行插入为单独的INSERT语句,或者使用UNION ALL SELECT的方式。例如: INSERT ALL INTO ... VALUES (...) INTO ... VALUES (...) SELECT * FROM DUAL; 这种方式适用于OracleINSERT ALL语句。 - **表名和列名大小写**:如果Oracle中的表或列名是大小写混合或全小写,可能需要用双引号括起来,但通常建议保持一致性,或者在创建表时使用大写,因此需要确认实际表结构。 - **其他潜在问题**:检查是否有Oracle的保留关键字作为列名,如使用了需要转义。 根据这些分析,我需要给出具体的转换步骤和修改后的SQL示例。同时,需要提醒用户注意Oracle的批量插入限制,并建议根据实际Oracle版本选择合适的方法。此外,数据类型和日期格式的处理也是关键点,需要确保插入的数据符合Oracle的要求。</think>### 需要修改的关键点及转换方案 #### 1. **日期字段显式转换** Oracle 对日期格式敏感,建议使用 `TO_DATE` 显式转换: ```sql TO_DATE('2024-10-23 19:37:35', 'YYYY-MM-DD HH24:MI:SS') ``` #### 2. **批量插入语法调整** Oracle 不支持多值 `VALUES` 语法,需改用 `INSERT ALL`: ```sql INSERT ALL INTO srm.hpfm_employee (...) VALUES (...) INTO srm.hpfm_employee (...) VALUES (...) ... SELECT * FROM DUAL; ``` #### 3. **大小写与保留字** 若表名/列名在 Oracle 中为大小写混合或保留字,需加双引号: ```sql "employee_num", "tenant_id" ``` --- ### 转换后的 Oracle INSERT 示例 ```sql INSERT ALL INTO srm.hpfm_employee ( employee_num, name, name_en, tenant_id, email, mobile, gender, cid, quick_index, phoneticize, status, enabled_flag, object_version_number, creation_date, created_by, last_update_date, last_updated_by, birthday ) VALUES ( 'E005038', '蔡婷婷', 'CaiTingting', 544, 'Chang_He@xmcwh.com', '115327269873', 0, NULL, '|ctt|', '|caitingting|', 'ON', 1, 17, TO_DATE('2024-10-23 19:37:35', 'YYYY-MM-DD HH24:MI:SS'), 2, TO_DATE('2024-11-06 09:01:16', 'YYYY-MM-DD HH24:MI:SS'), 2, NULL ) -- 其他行重复类似结构... SELECT * FROM DUAL; ``` --- ### 注意事项 1. **日期格式一致性** 确保 `TO_DATE` 格式与数据完全匹配(如 `HH24` 表示 24 小时制)。 2. **批量插入性能优化** - 对于大量数据,建议使用 SQL*Loader 或 PL/SQL 块分批处理。 - Oracle 12.2+ 支持 `INSERT ALL` 多行插入,但需验证版本兼容性。 3. **字段默认值与约束** - 检查 Oracle 表中字段的 `DEFAULT` 值或 `NOT NULL` 约束。 - 如 `object_version_number` 是否由触发器自动生成。 4. **特殊字符处理** - 字段中的 `|` 无需转义,但需确保字符集兼容(如 UTF-8)。 --- ### 相关问题 1. 如何处理 Oracle 中 `VARCHAR2` 与 `LONG` 类型的长度限制? 2. 如何验证 Oracle 表的字段约束(如唯一索引、外键)? 3. 如何批量导入数据时避免主键冲突? 4. 如何通过 SQL*Loader 从 CSV 文件导入数据? 5. 如何在 PL/SQL 中动态生成插入语句?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值