📜  PL SQL-常量和字面量(1)

📅  最后修改于: 2023-12-03 14:45:31.562000             🧑  作者: Mango

PL/SQL-常量和字面量

在PL/SQL中,常量和字面量是值不会发生变化的数据元素。

常量

常量是定义时被赋值的变量,其值在程序执行中不会改变。在PL/SQL中定义常量需要使用CONSTANT关键字。

DECLARE
  pi CONSTANT NUMBER := 3.14159;
BEGIN
  DBMS_OUTPUT.PUT_LINE('The value of pi is ' || pi);
END;
/

输出结果为:

The value of pi is 3.14159

在常量定义中,我们可以使用各种数据类型,包括数值、字符、日期等。

DECLARE
  myString CONSTANT VARCHAR2(20) := 'Hello, World!';
BEGIN
  DBMS_OUTPUT.PUT_LINE(myString);
END;
/

输出结果为:

Hello, World!
字面量

字面量是在程序中直接使用的数据值。在PL/SQL中,我们可以使用各种数据类型的字面量,例如数值、字符、日期等。

数字字面量包括整数和实数。整数字面量可以是十进制、八进制或十六进制。

DECLARE
  myNumber1 NUMBER := 100;
  myNumber2 NUMBER := 0b1100100; -- 二进制表示的数字100
  myNumber3 NUMBER := 0144; -- 八进制表示的数字100
  myNumber4 NUMBER := 0x64; -- 十六进制表示的数字100
BEGIN
  DBMS_OUTPUT.PUT_LINE(myNumber1 || ', ' || myNumber2 || ', ' || myNumber3 || ', ' || myNumber4);
END;
/

输出结果为:

100, 100, 100, 100

字符字面量可以用单引号或双引号表示。其中,单引号表示一个字符,双引号表示一个字符串。

DECLARE
  myChar1 CHAR := 'A';
  myChar2 CHAR(3) := 'ABC';
  myString VARCHAR2(20) := 'Hello, World!';
BEGIN
  DBMS_OUTPUT.PUT_LINE(myChar1 || ', ' || myChar2 || ', ' || myString);
END;
/

输出结果为:

A, ABC, Hello, World!

日期字面量可以用DATE关键字表示,格式为'YYYY-MM-DD'

DECLARE
  myDate DATE := DATE '2021-06-01';
BEGIN
  DBMS_OUTPUT.PUT_LINE(myDate);
END;
/

输出结果为:

01-JUN-21
总结

常量和字面量是在PL/SQL中作为不可变数据使用的元素。常量在定义时被赋值,其值在程序执行中不会改变;字面量是在程序中直接使用的数据值,包括数字、字符和日期等。在进行编程时,合理使用常量和字面量可以使程序更加简洁、易于维护。