联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
6.9.6.4 数据类型
更新时间:1/20/2025, 7:55:39 AM

内置类型

内置类型即标量类型,仅可存放单个的值,即可用作变量也可用作常量,无须用户自定义,常见的有 STRING,BOOLEAN,INT,DOUBLE,DATE,STATEMENT,TIMESTAMP 等数据类型,更多 ArgoDB 中支持的标量类型,可参见数据类型

STRING

语法

DECLARE <variable_name> STRING [DEFAULT <value>];
复制

示例一:声明-赋值-打印

!set plsqlUseSlash true
BEGIN
  -- 声明一个字符串类型的变量 V1。
  DECLARE V1 STRING;
  -- 给变量 V1 赋值为 'hello world'。
  SET V1 = 'hello world';
  -- 打印出变量 V1 的值。
  PUT_LINE('V1:'||V1);
END;
/
复制

输出结果

+-----------------+
|     output      |
+-----------------+
| V1:hello world  |
+-----------------+
复制

示例二:声明并赋值-打印

!set plsqlUseSlash true
BEGIN
  DECLARE V4 STRING DEFAULT 'hello world';
  PUT_LINE('V4:'||V4);
END;
/
复制

输出结果

+-----------------+
|     output      |
+-----------------+
| V4:hello world  |
+-----------------+
复制
INT

语法

DECLARE <variable_name> INT [DEFAULT <value>];
复制

示例一:声明-赋值-打印

+

!set plsqlUseSlash true
BEGIN
  -- 声明一个字符串类型的变量 V1。
  DECLARE V1 STRING;
  -- 声明一个整数类型的变量 V2。
  DECLARE V2 INT;
  -- 给变量 V1 赋值为 'hello world'。
  SET V1 = 'hello world';
  -- 给变量 V2 赋值为 100。
  SET V2 = 100;
  -- 打印出变量 V1 的值。
  PUT_LINE('V1:'||V1);
  -- 打印出变量 V2 的值。
  PUT_LINE('V2:'||V2);
END;
/
复制

输出结果

+-----------------+
|     output      |
+-----------------+
| V1:hello world  |
| V2:100          |
+-----------------+
复制

示例二:声明并赋值-打印

!set plsqlUseSlash true
BEGIN
  -- 声明一个整数类型的变量 V3,并赋初值为 10。
  DECLARE V3 INT DEFAULT 10;
  -- 声明一个字符串类型的变量 V4,并赋初值为 hello world。
  DECLARE V4 STRING DEFAULT 'hello world';
  -- 打印出变量 V3 的值。
  PUT_LINE('V3:'||V3);
  -- 打印出变量 V4 的值。
  PUT_LINE('V4:'||V4);
END;
/
复制

输出结果

+-----------------+
|     output      |
+-----------------+
| V3:10           |
| V4:hello world  |
+-----------------+
复制
Boolean

语法

+

DECLARE <variable_name> Boolean [DEFAULT <value>];
复制

示例一:声明-赋值-打印

!set plsqlUseSlash true
BEGIN
  -- 声明一个 Boolean 类型的变量 V1。
  DECLARE V1 Boolean;
  -- 给变量 V1 赋值为 true。
  SET V1 = true;
  -- 打印出变量 V1 的值。
  PUT_LINE('V1:'||V1);
END;
/
复制

输出结果为:

+----------+
|  output  |
+----------+
| V1:TRUE  |
+----------+
复制

示例二:声明并赋值-打印

!set plsqlUseSlash true
BEGIN
  -- 声明一个 Boolean 类型的变量 V4,并赋初值为 false。
  DECLARE V4 Boolean DEFAULT false;
  -- 打印出变量 V4 的值。
  PUT_LINE('V4:'||V4);
END;
/
复制

输出结果

+-----------+
|  output   |
+-----------+
| V4:FALSE  |
+-----------+
复制
DATE

语法

DECLARE <variable_name> TIMESTAMP [DEFAULT TIMESTAMP <value>];
复制

使用示例

!set plsqlUseSlash true
BEGIN
   -- 声明一个 DATE 类型的变量 date_a。
   DECLARE date_a DATE;
   -- 声明一个 DATE 类型的变量 date_b,并赋初值为 2015-12-01。
   DECLARE date_b DATE DEFAULT '2015-12-01';
   -- 给变量 date_a 赋值为 2015-10-10。
   SET date_a = DATE '2015-10-10';
   -- 打印出变量 date_a 的值。
   PUT_LINE('date_a is:'||date_a);
   -- 打印出变量 date_b 的值。
   PUT_LINE('date_b is:'||date_b);
END;
/
复制

输出结果

+-----------------------+
|        output         |
+-----------------------+
| date_a is:2015-10-10  |
| date_b is:2015-12-01  |
+-----------------------+
复制
TIMESTAMP

语法

DECLARE <variable_name> TIMESTAMP [DEFAULT TIMESTAMP <value>];
复制

示例一:声明-赋值-打印

!set plsqlUseSlash true
BEGIN
    -- 声明一个 TIMESTAMP 类型的变量 ts_d。
    DECLARE ts_d TIMESTAMP;
    -- 给变量 ts_d 赋值为 2011-05-05 08:09:23。
    SET ts_d = TIMESTAMP '2011-05-05 08:09:23';
    -- 打印出变量 ts_d 的值。
    PUT_LINE(ts_d);
END;
/
复制

输出结果

+----------------------+
|        output        |
+----------------------+
| 2011-05-05 08:09:23  |
+----------------------+
复制

示例二:声明并赋值-打印

!set plsqlUseSlash true
BEGIN
    -- 声明一个 TIMESTAMP 类型的变量 ts_d,给变量 ts_d 赋值为 2011-05-05 08:09:23。
    DECLARE ts_d TIMESTAMP DEFAULT TIMESTAMP '2011-05-05 08:09:23';
    -- 打印出变量 ts_d 的值。
    PUT_LINE(ts_d);
END;
/
复制

输出结果

+----------------------+
|        output        |
+----------------------+
| 2011-05-05 08:09:23  |
+----------------------+
复制
STATEMENT

ArgoDB 中,STATEMENT 变量常被用来存储事先构建好的 SQL 语句,更多关于 STATEMENT 变量的用法说明,可参见动态 SQL 章节

语法

DECLARE <variable_name> STATEMENT;
复制

示例一:声明-赋值

!set plsqlUseSlash true
BEGIN
  -- 声明一个 STATEMENT 类型的变量 V1。
  DECLARE V1 STATEMENT;
  -- 使用关键字 PREPARE 将 SQL 语句放进变量 V1 里。
  PREPARE V1 FROM 'SELECT price FROM transactions WHERE acc_num=6513065';
END;
/
复制
  • 对于 STATEMENT 变量,不能直接使用 SET 等赋值语句,必须使用关键字 PREPARE。

  • 对于 STATEMENT 变量,也不能通过 PUT_LINE 等输出函数打印变量的值,更多用法说明,可参见动态 SQL 章节

其他类型
  • 复合类型:支持 Row 和 Array 两种复合数据类型,更多用法说明,可参见行数据类型ARRAY 章节。

  • 锚定类型:支持 Anchored data type 锚定类型。

  • 特殊类型:支持 Statement、Condition、RESULT_SET_LOCATOR 三种特殊类型。