HIVE截取某字符到某字符的数据实现流程

流程图

flowchart TD
    A[创建目标表] --> B[插入数据]
    B --> C[查询截取数据]

详细步骤及代码

  1. 创建目标表

    • 首先,我们需要创建一个目标表,用于存储截取后的数据。
    • 代码示例:
    CREATE TABLE target_table (
      id INT,
      value STRING
    );
    
    • 代码说明:
      • 创建了一个名为target_table的表,包含两列,分别是idvalue,类型分别为整数和字符串。
  2. 插入数据

    • 接下来,我们需要向目标表中插入一些数据,以便进行截取操作。
    • 代码示例:
    INSERT INTO target_table (id, value)
    VALUES
      (1, 'Hello, World!'),
      (2, 'I love Hive!'),
      (3, 'Hive is awesome.');
    
    • 代码说明:
      • 使用INSERT INTO语句将数据插入到target_table表中。
      • 每一行数据由idvalue组成。
      • 这里插入了三行数据,分别是Hello, World!I love Hive!Hive is awesome.
  3. 查询截取数据

    • 现在我们可以进行截取操作,从value列中截取某字符到某字符的数据。
    • 代码示例:
    SELECT
      id,
      substr(value, instr(value, 'H'), instr(value, ' is'))
    FROM
      target_table;
    
    • 代码说明:
      • 使用SELECT语句查询数据,并对value列进行截取操作。
      • substr函数用于截取指定位置的子字符串,第一个参数为源字符串,第二个参数为起始位置,第三个参数为结束位置。
      • instr函数用于查找字符串中某字符首次出现的位置,第一个参数为源字符串,第二个参数为要查找的字符。
      • 这里截取了从字符H到字符is之间的子字符串。

代码展示

-- 创建目标表
CREATE TABLE target_table (
  id INT,
  value STRING
);

-- 插入数据
INSERT INTO target_table (id, value)
VALUES
  (1, 'Hello, World!'),
  (2, 'I love Hive!'),
  (3, 'Hive is awesome.');

-- 查询截取数据
SELECT
  id,
  substr(value, instr(value, 'H'), instr(value, ' is'))
FROM
  target_table;

结果展示

id 截取的数据
1 Hello, World
2 Hive!
3 Hive is awesome