我是一个新手 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/