最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle中null值和空字符串的坑及解決

 更新時(shí)間:2024年08月26日 09:53:00   作者:草莓田田圈~  
這篇文章主要介紹了Oracle中null值和空字符串的坑及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

思考

在學(xué)習(xí)oracle數(shù)據(jù)庫的過程中,發(fā)現(xiàn)當(dāng)對字段進(jìn)行約束,默認(rèn)空字符串時(shí),出現(xiàn)報(bào)錯(cuò)

--創(chuàng)建employees表
CREATE TABLE employees (
  id NUMBER,
  name VARCHAR2(100)  
);
--對表新增email列,添加約束默認(rèn)空字符串并且非空
ALTER TABLE employees ADD email VARCHAR2(100) DEFAULT ''  NOT NULL;

以上操作的預(yù)期是向employees表中添加數(shù)據(jù),email不添加數(shù)據(jù)的時(shí)候默認(rèn)是空字符串,但實(shí)際上無法添加成功。

在MySQL數(shù)據(jù)庫中

--創(chuàng)建表employees
CREATE TABLE employees(
id int,   
name VARCHAR(100)   
);
--添加字段email,并添加約束
ALTER TABLE employees ADD email VARCHAR(100) DEFAULT ''  NOT NULL;
  • 向表中添加數(shù)據(jù)
--emial字段沒有添加,默認(rèn)為空字符串,不是null
INSERT INTO employees (id,name) VALUES (1,'TOM');
INSERT INTO employees  VALUES (2,'Carl','');
--email添加一個(gè)值
INSERT INTO employees  VALUES (3,'Jhon','123@qq.com');
--查詢結(jié)果
mysql> SELECT  *  FROM  employees;
+------+------+------------+
| id   | name | email      |
+------+------+------------+
|    1 | TOM  |            |
|    2 | Carl |            |
|    3 | Jhon | 123@qq.com |
+------+------+------------+
3 rows in set (0.00 sec)

在MySQL數(shù)據(jù)庫中符合預(yù)期,email字段有數(shù)值時(shí),是實(shí)際的數(shù)值,相反是默認(rèn)的值。

  • 修改約束
ALTER TABLE employees modify email VARCHAR(100);
  • 添加數(shù)據(jù)
INSERT INTO employees (id,name) VALUES (1,'TOM');
INSERT INTO employees  VALUES (2,'Carl','');
  • 查看結(jié)果
mysql> SELECT  *  FROM  employees;
+------+------+-------+
| id   | name | email |
+------+------+-------+
|    1 | TOM  | NULL  |
|    2 | Carl |       |
+------+------+-------+
2 rows in set (0.00 sec)

MySQL中空字符串就是空字符串,空值就是NULL

在Oracle數(shù)據(jù)庫中

--創(chuàng)建表
CREATE TABLE employees (
id NUMBER,
name VARCHAR2(100)  
);
--新增email字段,添加約束
ALTER TABLE employees ADD email VARCHAR2(100) DEFAULT ''  NOT NULL;
  • 向表中添加數(shù)據(jù)報(bào)錯(cuò)
INSERT INTO employees (id,name) VALUES (1,'TOM');
INSERT INTO employees  VALUES (2,'Carl','');

  • 修改約束
--修改email的約束,改成可以添加空值
ALTER TABLE employees MODIFY email varchar2(100) ;
--插入數(shù)據(jù)
INSERT INTO employees (id,name,email) VALUES (1,'TOM','');  --添加空字符串
INSERT INTO employees  VALUES (2,'Carl',null);

查詢結(jié)果,結(jié)果都是null

原因是因?yàn)樵贠racle中,將長度為零的字符值視為NULL

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Oracle?Temp表空間不足問題的多種解決方案

    Oracle?Temp表空間不足問題的多種解決方案

    在Oracle數(shù)據(jù)庫中臨時(shí)表空間(Temp Tablespace)是用于存儲排序、哈希連接和并行查詢等操作中間結(jié)果的關(guān)鍵結(jié)構(gòu),這篇文章主要介紹了Oracle?Temp表空間不足問題的多種解決方案,需要的朋友可以參考下
    2025-11-11
  • Oracle數(shù)據(jù)庫中的優(yōu)化方法

    Oracle數(shù)據(jù)庫中的優(yōu)化方法

    這篇文章主要給大家介紹了Oracle數(shù)據(jù)庫中的優(yōu)化方法,Oracle數(shù)據(jù)庫是當(dāng)前應(yīng)用最廣泛的大型數(shù)據(jù)庫之一,其系統(tǒng)結(jié)構(gòu)復(fù)雜,性能受多方面因素影響,其中查詢操作是影響其性能的關(guān)鍵因素,需要的朋友可以參考下
    2023-07-07
  • 解決ORA-12154 TNS無法解析指定的連接標(biāo)識符問題

    解決ORA-12154 TNS無法解析指定的連接標(biāo)識符問題

    Oracle11g server 64bit服務(wù)器端安裝在Windows Server2008 Enterprise上,安裝Oracle11g client 32bit,通過SQL Plus以sysdba身份連接數(shù)據(jù)庫,并且創(chuàng)建表空間、用戶、授權(quán)成功,在連接數(shù)據(jù)庫時(shí)出現(xiàn)問題,下面講解ORA-12154無法解析指定的連接標(biāo)識符問題,感興趣的朋友一起看看
    2024-01-01
  • Oracle使用fy_recover_data恢復(fù)truncate刪除的數(shù)據(jù)

    Oracle使用fy_recover_data恢復(fù)truncate刪除的數(shù)據(jù)

    這篇文章主要介紹了Oracle使用fy_recover_data恢復(fù)truncate刪除的數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Oracle 臨時(shí)表空間SQL語句的實(shí)現(xiàn)

    Oracle 臨時(shí)表空間SQL語句的實(shí)現(xiàn)

    臨時(shí)表空間用來管理數(shù)據(jù)庫排序操作以及用于存儲臨時(shí)表、中間排序結(jié)果等臨時(shí)對象,本文主要介紹了Oracle 臨時(shí)表空間SQL語句的實(shí)現(xiàn),感興趣的可以了解一下
    2021-09-09
  • 使用oracle發(fā)生標(biāo)識符無效問題及解決

    使用oracle發(fā)生標(biāo)識符無效問題及解決

    這篇文章主要介紹了使用oracle發(fā)生標(biāo)識符無效問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Oracle常見問題解決方案匯總

    Oracle常見問題解決方案匯總

    今天小編就為大家分享一篇關(guān)于Oracle常見問題解決方案匯總,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Linux虛擬機(jī)下安裝Oracle 11G教程圖文解說

    Linux虛擬機(jī)下安裝Oracle 11G教程圖文解說

    這篇文章主要介紹了Linux虛擬機(jī)下安裝Oracle 11G教程圖文詳解,本文文字圖解相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • oracle鎖表該如何解決

    oracle鎖表該如何解決

    這篇文章主要給大家介紹了關(guān)于oracle鎖表如何解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • oracle正則表達(dá)式regexp_like的用法詳解

    oracle正則表達(dá)式regexp_like的用法詳解

    本篇文章是對oracle正則表達(dá)式regexp_like的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評論

沙雅县| 荣成市| 历史| 新宾| 玉龙| 濮阳市| 正蓝旗| 龙川县| 潼南县| 工布江达县| 寿阳县| 赤水市| 肥东县| 万山特区| 吉隆县| 紫阳县| 南郑县| 河西区| 广灵县| 雅江县| 扶沟县| 吴江市| 湄潭县| 扶绥县| 太湖县| 电白县| 瑞安市| 南漳县| 化州市| 苍山县| 许昌市| 鄂温| 无棣县| 墨玉县| 闸北区| 蚌埠市| 仁寿县| 神农架林区| 南郑县| 临泽县| 长寿区|