Oracle PL / SQL文字

文字是一个显式的数字,字符,字符串或BOOLEAN值。

例如,数字14和BOOLEAN FALSE是两个文字。

 

数字字面量

我们可以在算术表达式中使用两种类型的数字文字:整数和实数。

整数字面值是一个可选的有符号整数,不带小数点。

例如:


3   6   -14   1123   +32767 

实数字面值是带小数点的可选符号小数。

例如:


+3330.0120 .5   25.  6.6 0.0   -1.0   3.14 

数字文字可以使用科学记数法写成。

使用E(或e)后跟可选的有符号整数后缀该数字。

例如:


22E15   1.0E-7   3.14-1E38   -129.125e-13 

 

以下代码显示了如何在PL / SQL代码中使用数字文字。


DECLARE 
  n NUMBER; 
BEGIN 
  n := -9.999999E-130; 
  n :=  9.999E125; 
  n := 10.0E12; 
END; 
/ 

实数字面值可以使用尾随字母fd指定BINARY_FLOAT和BINARY_DOUBLE类型。

DECLARE 
  x BINARY_FLOAT := sqrt(2.0f); 
    -- single-precision floating-point number 
  y BINARY_DOUBLE := sqrt(2.0d); 
    -- double-precision floating-point number 
BEGIN 
  NULL; 
END; 
/ 

 

字符文字

字符文字是由单引号(')括起来的单个字符。


'A'   '%'   '7'   ' '   'a'   '(' 

PL / SQL对字符文字区分大小写。

 

字符串字面量

字符串文字是由单引号括起来的零个或多个字符序列。


 'this is a test!' 
 'java2s.com' 
 

PL / SQL对字符串文字区分大小写。

要在字符串中表示撇号,请写两个单引号。


'I''m a string, you''re not a string.' 

 

布尔文字

BOOLEAN文字是预定义值TRUE,FALSE和NULL。

NULL表示未知值。

 

日期和时间字面值

日期时间文本具有各种格式,具体取决于数据类型。

DECLARE 
   d1 DATE      := DATE '2020-12-25'; 
   t1 TIMESTAMP := TIMESTAMP '2002-10-22 13:01:01'; 
   t2 TIMESTAMP WITH TIME ZONE := TIMESTAMP '2002-03-31 19:26:56.66 +02:00'; 
  
   i1 INTERVAL YEAR TO MONTH := INTERVAL '3-2' YEAR TO MONTH; 
   -- Five days, four hours, three minutes, two and 2/100 seconds 
   i2 INTERVAL DAY TO SECOND := INTERVAL '5 04:03:02.02' DAY TO SECOND; 
 
BEGIN 
  NULL; 
END; 
/