Which Is Not Data Type in PL SQL?


Scott Campbell

When working with PL/SQL, it is important to understand the different data types that are available. These data types allow us to define the kind of values that can be stored in variables and used in our programs. However, there is one data type that does not exist in PL/SQL, and that is the boolean data type.

Data Types in PL/SQL

PL/SQL provides a rich set of data types that can be used to declare variables. These data types include:

  • NUMBER: Used for storing numeric values such as integers and decimals.
  • VARCHAR2: Used for storing character strings.
  • DATE: Used for storing dates and timestamps.
  • CLOB: Used for storing large amounts of character data.
  • BLOB: Used for storing large amounts of binary data.

In addition to these basic data types, PL/SQL also provides composite types such as records and collections, which allow you to store multiple values in a single variable.

The Missing Data Type: Boolean

While PL/SQL supports a wide range of data types, it surprisingly does not have a built-in boolean data type. In other programming languages, boolean variables can take two values – true or false – which are often used for logical operations and conditional statements. However, in PL/SQL, we need to use other data types or constructs to achieve similar functionality.

To simulate boolean behavior in PL/SQL, we can use different approaches:

Numerical Approach

We can use the NUMBER data type to represent boolean values. We can assign the value 1 to represent true and the value 0 to represent false. This approach is simple and straightforward, but it requires careful coding to ensure that the correct values are used.

Character Approach

An alternative approach is to use the VARCHAR2 data type and define a set of constants or variables that represent true and false values. For example, we can define constants like ‘TRUE’ and ‘FALSE’ and use them in our code. While this approach provides more readability, it also requires extra caution in handling string comparisons.

PL/SQL Constructs

In some cases, we can use PL/SQL constructs like IF statements or CASE statements directly without the need for boolean variables. These constructs allow us to evaluate conditions and perform different actions based on the result, effectively achieving boolean-like behavior.


While PL/SQL lacks a native boolean data type, it provides several workarounds using other data types or constructs. Whether you choose to use numerical representations, character-based constants, or rely on conditional statements, it is crucial to understand how these alternatives work and choose the one that best suits your needs.

By being aware of this missing data type in PL/SQL and understanding the available alternatives, you can write code that is both effective and efficient while working with logical operations and conditional statements in your programs.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy