主流数据库之间对SQL:2003标准的不同实现方法比较(第六部分 基础数据类型之BOOLEAN)

翻译 2008年08月22日 13:46:00

本文严禁在未征得本人同意的情况下以任何形式进行转载。本人只接受在邮件中的转载申请,如需转载,请发送邮件至 betteryou@126.com。

 

数据类型

 

布尔(BOOLEAN)类型

 

标准(Standard)

BOOLEAN类型是可选的(IDT031的特性),这可能会让人感觉有些惊讶。但是,似乎无休止地对NULL在布尔值中如何解析妨碍了BOOLEAN成为核心数据类型的道路。

 

标准描述BOOLEAN可能是以下几种:

  • TRUE
  • FALSE
  • UNKOWN/NULL

 

DBMS可能将NULL等同为未知(UNKOWN)。标准上没有明确规定DBMSBOOLEAN中必须支持UNKOWNNULL或者两者都支持。

 

标准定义了TRUE > FALSE

PostgreSQL

符合标准。

 

在布尔值中接受NULL,不接受UNKOWN

DB2

不支持BOOLEAN类型。

 

从不同的JDBC文档来判断,IBM建议使用CHAR(1)来存储布尔值(包含’1’’0’NULL)

MS SQL Server

不支持BOOLEAN类型。

 

可能的替代类型:BIT类型,值可为01NULL。如果插入的整数值不在上述三个值当中,即被自动转换为1

MySQL

支持非标准的BOOLEAN类型。MySQLBOOLEANTINYINT(1)类型的别名。

 

JDBC中,切勿从类型为TINYINT(1)的列中取非布尔值。

 

MySQLBOOLEAN类型接受TRUEFALSE,分别为10。当然也可以指定其他值,例如9

 

如果使用JDBC,最好使用BOOLEAN类型。MySQLJDBC驱动可隐式将其与Javaboolean类型进行转换。

Oracle

不支持BOOLEAN类型。

 

从不同的JDBC文档判断,Oracle推荐NUMBER(1)作为布尔值的存储类型,可接受01或者NULL

 

根据JDBC的标准,getBoolean()必须将SQLNULL值转换成为Java中的false。可使用wasNull()来判断列是否为空。

 

原文参考:Comparison of different SQL implementations

主流内存数据库简要比较

由本人搜集资料整理而成,如需转载请注明出处:http://blog.csdn.net/nanfeiyannan/article/details/9003009(谢谢) 主要内存数据库对比   ...
  • nanfeiyannan
  • nanfeiyannan
  • 2013年05月31日 23:15
  • 14969

主流nosql数据库对比

转自:http://asyty.iteye.com/blog/1202106 主流nosql数据库对比 博客分类:  NOSQL nosql数据库对比  目前开源的NOSQL数据...
  • suejl
  • suejl
  • 2016年02月23日 10:52
  • 829

Sql操作之二:不同数据库中表数据迁移

一:在同一服务器 insert  into   数据库name1.dbo.table_name2(字段名称1,字段名称2,……) select  字段名称1,字段名称2,…… from ...
  • llso9001
  • llso9001
  • 2016年02月02日 13:57
  • 2784

不同数据类型的相互转换

不同数据类型的相互转换 首相强调一下那个关于各类型数值的长度以及取值范围的表格十分重要,必须附上:类型 关键字 长度(位) ...
  • LingXi__Y
  • LingXi__Y
  • 2016年07月28日 12:47
  • 1764

几款主流数据库的详细比较

http://blog.csdn.net/zhouhx08/article/details/7528254 开发数据库应用,选择一个好的数据库是非常重要的。目前,商品化的数据库管理系统以...
  • loongwong2011
  • loongwong2011
  • 2016年09月02日 09:28
  • 6756

实现两个数据库之间的数据同步

不同服务器数据库之间的数据操作   --创建链接服务器  exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或i...
  • m15188153014
  • m15188153014
  • 2015年10月31日 17:11
  • 4952

十分钟轻松搞定两个不同数据库之间的数据交换

JadePool为广大Java工作者提供了许多简洁实用的方法,如果需要实现不同数据库之间的数据交换,使用JadePool十分方便。这是十分有价值的实践活动,比如,在网站的数据管理中,我们需要将远程数据...
  • wj800
  • wj800
  • 2013年03月04日 10:42
  • 1546

sqlserver数据库数据类型中varchar和nvarchar的区别

nvarchar   和   varchar   的区别是存储方式不同  varchar是按字节存储的。而带nvarchar是按字符存储的  比如说varchar(40),能存储40个字节长度的字符,...
  • konkong5501
  • konkong5501
  • 2013年10月16日 21:18
  • 1260

SQL不同服务器数据库之间的数据操作整理(完整版)

因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因。 如有冒犯请联系本人,或删除,或标明出处。 因为好的文章,以前只想收藏,但连接有时候...
  • sat472291519
  • sat472291519
  • 2014年10月08日 13:39
  • 1907

Python基本数据类型

python的基本数据类型介绍
  • kellyseeme
  • kellyseeme
  • 2016年02月16日 23:12
  • 823
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:主流数据库之间对SQL:2003标准的不同实现方法比较(第六部分 基础数据类型之BOOLEAN)
举报原因:
原因补充:

(最多只允许输入30个字)