将列值显式设置为空 SQL Developer

Posted

技术标签:

【中文标题】将列值显式设置为空 SQL Developer【英文标题】:Explicitly set column value to null SQL Developer 【发布时间】:2011-10-31 20:05:51 【问题描述】:

我是 Oracle DB 的新手,我正在使用 Oracle SQL Developer(版本 3.0.02)查询数据库。 我想明确地将一列设置为空?

如何在 SQL Developer GUI 中执行此操作?

以前在 MSSQL 中,单击 CTRL+0 会将值显式设置为 null。 Oracle SQL Developer 怎么样? 谢谢

【问题讨论】:

我不确定我是否理解这个问题。您是否尝试将一列添加到始终为 NULL 的结果集中?更新表中的列,使其始终为 NULL?在特定列中允许 NULL 值?还有什么? @Justin 我想将该列显式设置为空。假设我单击一列,然后将其值显式设置为 null。我实际上正在为此寻找快捷键。 我仍然不确定我是否理解。您是否打算更新表中的列以使每行中的值为 NULL?修改表上的约束以允许列中的 NULL 值?还有什么? 【参考方案1】:

您必须自己显式地编写 SQL DML。 即

UPDATE <table>
   SET <column> = NULL;

完成后,您需要提交更新

commit;

如果您只想将某些记录设置为 NULL,请在 UPDATE 语句中使用 WHERE 子句。

由于您最初的问题非常模糊,我希望这涵盖了您想要的内容。

【讨论】:

【参考方案2】:

如果您想使用 GUI...单击/双击表格并选择 Data 选项卡。单击要设置为(null) 的列值。选择值并将其删除。点击提交按钮(绿色复选标记按钮)。它现在应该为空。

更多信息在这里:

How to use the SQL Worksheet in SQL Developer to Insert, Update and Delete Data

【讨论】:

您需要按Ctrl+Shift 键删除行。【参考方案3】:

使用 Shift+Del。

更多信息: Shift+Del 组合键将字段设置为空,当您通过值填充字段并且您更改了决定并希望将其设为空时。它很有用,我对其他给出奇怪解决方案的答案感到惊讶。

【讨论】:

也许这个组合在 2011 年不可用,但今天这应该是正确的答案。 @Alexander 我想我用 sql developer 3.0 测试了我的答案。【参考方案4】:

很明显,大多数没有使用过 SQL Server 企业管理器的人不理解这个问题(即 Justin Cave)。

当我想知道同样的事情时,我发现了这篇文章。

使用 SQL Server,当您通过 MS SQL Server GUI 工具编辑数据时,您可以使用 KEYBOARD SHORTCUT 插入 NULL 而不是只有一个 EMPTY CELL,因为它们不是一回事。一个空单元格中可以有一个空格,而不是 NULL,即使它在技术上是空的。不同之处在于,当您有意将 NULL 放入单元格而不是 SPACE 或将其清空而不使用 SQL 语句来执行此操作时。

那么,真正的问题是,如何在单元格中放置一个 NULL 值而不是一个空格来清空单元格?

我认为答案是,Oracle 开发人员 GUI 的工作方式正如 Laniel 上面指出的那样,并且应该将其标记为该问题的答案。

当您按照操作描述的方式清空单元格时,Oracle Developer 似乎默认为 NULL。

此外,您可以通过更改背景颜色的颜色来强制 Oracle Developer 更改空单元格的外观,以进一步演示单元格何时包含空值:

工具->首选项->高级->使用背景颜色显示空值

甚至是它为空时显示的 VALUE:

工具->首选项->高级->将空值显示为

希望对您的过渡有所帮助。

【讨论】:

以上是关于将列值显式设置为空 SQL Developer的主要内容,如果未能解决你的问题,请参考以下文章

如何将空值显式插入参数化查询?

如何将列值一一传递给 SQL 函数?

spark将列值作为sql查询执行

Swift 3.0 错误:转义闭包只能按值显式捕获 inout 参数

SQL:将列值链接到列名以满足某些条件

SQL查询将列值显示为表中的列名