GBase 8c V3.0.0数据类型——条件表达式函数

  1. coalesce(expr1, expr2, …, exprn)

描述:返回参数列表中第一个非NULL的参数值。COALESCE(expr1, expr2) 等价于CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END。

示例:

 gbase=# SELECT coalesce(NULL,'hello');

 coalesce

----------

 hello

(1 row)

如果表达式列表中的所有表达式都等于NULL,则本函数返回NULL。

该函数常用于在显示数据时用缺省值替换NULL。和CASE表达式一样,COALESCE不会计算不需要用来判断结果的参数;即在第一个非空参数右边的参数不会被计算。

  1. decode(base_expr, compare1, value1, Compare2,value2, … default)

描述:把base_expr与后面的每个compare(n) 进行比较,如果匹配返回相应的value(n)。如果没有发生匹配,则返回default。

示例:

 gbase=# SELECT decode('A','A',1,'B',2,0);

 case

------

 1

(1 row)

  1. nullif(expr1, expr2)

描述:当且仅当expr1和expr2相等时,NULLIF才返回NULL,否则它返回expr1。

nullif(expr1, expr2) 逻辑上等价于CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END。

示例:

 gbase=# SELECT nullif('hello','world');

 nullif

--------

 hello

(1 row)

如果两个参数的数据类型不同,则:

    1. 若两种数据类型之间存在隐式转换,则以其中优先级较高的数据类型为基准将另一个参数隐式转换成该类型,转换成功则进行计算,转换失败则返回错误。如:

 gbase=# SELECT nullif('1234'::VARCHAR,123::INT4);

 nullif

--------

   1234

(1 row)

 gbase=# SELECT nullif('1234'::VARCHAR,'2012-12-24'::DATE);

ERROR:  invalid input syntax for type timestamp: "1234"

CONTEXT:  referenced column: nullif

    1. 若两种数据类型之间不存在隐式转换,则返回错误 。如:

 gbase=# SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE);

ERROR:  operator does not exist: boolean = timestamp without time zone

LINE 1: SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE) FROM sys_dummy;

^

HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.

CONTEXT:  referenced column: nullif

  1. nvl( expr1 , expr2 )

描述:

    1. 如果expr1为NULL,则返回expr2。
    2. 如果expr1非NULL,则返回expr1。

示例:

 gbase=# SELECT nvl('hello','world');

  nvl  

-------

 hello

(1 row)

参数expr1和expr2可以为任意类型,当NVL的两个参数不属于同类型时,看第二个参数是否可以向第一个参数进行隐式转换。如果可以则返回第一个参数类型,否则返回错误。

  1. greatest(expr1 [, …])

描述:获取并返回参数列表中值最大的表达式的值。

返回值类型:

示例:

 gbase=# SELECT greatest(1*2,2-3,4-1);

 greatest

----------

        3

(1 row)

 gbase=# SELECT greatest('HARRY', 'HARRIOT', 'HAROLD');

 greatest

----------

 HARRY

(1 row)

  1. least(expr1 [, …])

描述:获取并返回参数列表中值最小的表达式的值。

示例:

 gbase=# SELECT least(1*2,2-3,4-1);

 least

-------

    -1

(1 row)

 gbase=# SELECT least('HARRY','HARRIOT','HAROLD');

 least  

--------

 HAROLD

(1 row)

  1. EMPTY_BLOB()

描述:使用EMPTY_BLOB在INSERT或UPDATE语句中初始化一个BLOB变量,取值为NULL。

返回值类型:BLOB

示例:

 --新建表

gbase=# CREATE TABLE blob_tb(b blob,id int);

CREATE TABLE

--插入数据

gbase=# INSERT INTO blob_tb VALUES (empty_blob(),1);

INSERT 0 1

--删除表

gbase=# DROP TABLE blob_tb;

DROP TABLE

使用DBE_LOB.GET_LENGTH求得的长度为0。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要导入表数据到gbase 8c数据库,可以使用以下步骤: 1. 准备数据库和表结构: 在gbase 8c中创建数据库和表结构,确保表结构与要导入的数据匹配。 2. 准备数据文件: 将要导入的数据保存为文本文件,确保数据文件的格式与表结构中的列对应。 3. 使用gbase 8c命令行工具: 打开gbase 8c命令行工具,登录到数据库。 4. 使用load data命令: 在gbase 8c命令行工具中使用load data命令导入数据。例如,假设要导入的数据文件名为data.txt,表名为table1,可以使用以下命令导入数据: ``` load data local infile 'data.txt' into table table1; ``` 这将把data.txt文件中的数据导入到table1表中。 5. 检查导入结果: 导入完成后,可以使用select语句检查已导入的数据是否正确。例如,可以使用以下命令检查table1表中的数据: ``` select * from table1; ``` 如果数据导入成功,将会显示导入的数据。 需要注意的是,导入数据时需要确保数据文件的格式与表结构的列对应,否则可能会导致导入失败或数据错误。此外,还可以使用其他方法如使用ETL工具或编写脚本来导入数据,在实际操作中可以根据具体需求选择合适的方法。 ### 回答2: 要导入gbase 8c的表数据,可以按照以下步骤进行操作: 1. 首先,在gbase 8c的客户端工具中登录到目标数据库。 2. 使用 "source" 命令指定表数据的来源文件路径。例如,假设表数据文件名为 "data.txt",该文件位于 "/home/user/data/" 目录下,则可以使用以下命令导入数据: `source /home/user/data/data.txt;` 3. 确保指定的数据文件路径和文件名正确,并且文件可以在当前登录的服务器上访问。 4. 执行以上命令后,gbase 8c将开始导入数据。可以使用 "show processlist;" 命令来查看导入进程的状态和进度。 5. 导入过程中,可以根据需要设置导入的配置选项,如并发线程数、批量提交大小等,以优化导入性能。具体的配置选项可以在导入命令之前设置。 需要注意的是,导入数据过程中需要确保表结构与数据文件的格式相匹配,否则可能导致导入失败或数据错误。在导入之前,可以使用DESCRIBE命令来查看表的结构信息,以确保数据文件与表结构一致。 另外,还可以使用其他工具或脚本来导入数据,如使用LOAD DATA命令、使用ETL工具等。在选择合适的导入方式时,可以根据实际需求和具体情况进行选择。 ### 回答3: gbase 8c 是一个关系型数据库管理系统,用于存储和管理数据。要导入表数据到 gbase 8c 数据库中,可以按照以下步骤进行操作: 1. 准备数据文件:首先,需要准备一个包含要导入的数据的文件,可以是 CSV、TXT 或其他格式的文件。确保文件的格式符合 gbase 8c 数据库的要求。 2. 创建目标表:在 gbase 8c 数据库中,首先需要创建一个目标表,用于存储导入的数据。可以使用 gbase 8c 提供的 CREATE TABLE 语句来创建表,定义表的结构和列的属性。 3. 导入表数据:接下来,可以使用 gbase 8c 提供的 LOAD DATA 语句来导入表数据。该语句的基本语法如下: LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'data_file' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name[, partition_name] ...)] [IGNORE number {LINES | ROWS}] [SET col_name = expr, ...] 在语法中,data_file 为前面准备的数据文件的路径和文件名,tbl_name 为目标表的名称。语句中的其他参数根据需求进行设置。例如,可以使用 IGNORE 关键字来忽略数据文件中的错误行。 4. 等待导入完成:一旦执行 LOAD DATA 语句,系统将开始导入表数据。根据数据文件的大小和服务器的性能,导入时间可能会有所不同。在导入过程中,请耐心等待,直到导入完成。 需要注意的是,在导入表数据之前,请确保数据文件中的数据与表的结构相匹配,以避免错误或数据丢失。另外,还可以根据需要调整 LOAD DATA 语句中的参数,以满足特定的导入需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值