sql - 如何更新 Oracle 表中的 bool 字段

标签 sql oracle oracle11g oracle10g sql-update

我是一个新手 Oracle 用户。我想为其中一条记录更新表中的 bool 字段。以下哪一项是正确的?

update MyTable set myBooleanColumn = 1 where UserId= 'xx12345';

or 


update MyTable set myBooleanColumn = '1' where UserId= 'xx12345';

任何帮助是极大的赞赏!!谢谢 !

最佳答案

这取决于如何定义字段。

如果将其定义为 CHAR(1) 字段,则您可以在其中存储 'Y'/'N' 或 'T'/'F'。要更新该字段,您将使用引号,因为它是字符串文字。

UPDATE TestTable set myCharBooleanColumn = 'Y';

如果该字段定义为 NUMERIC,则约定为 0=false,1 或 -1 为 true(我都见过)。
UPDATE TestTable set myNumericBooleanColumn = 1;

许多人会提倡 CHAR(1) 方法,但在现实世界中 - 您会看到两者。这取决于 bool 值的实现方式。

您可以在 Oracle 的数据类型文档中阅读更多内容
http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm

关于sql - 如何更新 Oracle 表中的 bool 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19435160/

相关文章:

MYSQL 将转义的十六进制字符串转换为人类可读的字符串

sql - 准备好的语句中的重复参数

sql - Oracle SQL : Finding common subjects taken by students in each class

mysql - 使用 SQL Oracle BIEE 根据用户输入过滤计算列 -

sql - SQL标准中真的有必要有GROUP BY吗

mysql - 数据库性能调整有哪些资源?

sql - 添加具有默认值的列?

sql - Oracle 如何解压缩 Blob

oracle - Oracle 中的估计器

sql - 如何计算列的平均值,然后将其包含在 SQL 中的选择查询中