SQL 面试题 目录

SQL 中如何定义布尔类型?

推荐答案

在 SQL 中,布尔类型通常使用 BOOLEANBOOL 关键字来定义。以下是一个示例:

在这个示例中,is_active 列被定义为布尔类型,可以存储 TRUEFALSENULL 值。

本题详细解读

布尔类型的定义

在 SQL 标准中,布尔类型用于表示逻辑值,即 TRUEFALSE。某些数据库系统还允许存储 NULL 值,表示未知或未定义的状态。

不同数据库的实现

虽然 SQL 标准定义了布尔类型,但不同的数据库管理系统(DBMS)可能有不同的实现方式:

  • PostgreSQL: 支持 BOOLEAN 类型,可以直接使用 TRUEFALSE 关键字。
  • MySQL: 支持 BOOLEANBOOL 类型,实际上是 TINYINT(1) 的别名,TRUEFALSE 分别对应 10
  • SQLite: 没有专门的布尔类型,通常使用 INTEGER 类型,0 表示 FALSE1 表示 TRUE
  • Oracle: 没有原生的布尔类型,通常使用 NUMBER(1)CHAR(1) 来模拟布尔类型。

示例

以下是在不同数据库中定义布尔类型的示例:

PostgreSQL

MySQL

SQLite

Oracle

注意事项

  • 在使用布尔类型时,应确保数据库系统支持该类型,并了解其具体实现方式。
  • 在某些数据库中,布尔类型可能不是原生支持的类型,需要使用其他数据类型来模拟布尔值。
纠错
反馈