首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在oracle中将数据拆分为2列

在oracle中将数据拆分为2列
EN

Stack Overflow用户
提问于 2020-04-15 17:31:08
回答 2查看 26关注 0票数 1

我在表ColAColB中有1列,我想在其中存储一些值。还有另一个表,我正在从中选择信息,并将其插入到此表中。ColAVARCHAR(25)长度,ColB也有VARCHAR(25)长度。现在I an抓取的数据大于分配的长度。假设它有35个字符,如何在ColA中拆分并选择25个字符,在ColB中选择其余字符?问这样的问题真的是一种糟糕的做法还是糟糕的方式?

代码语言:javascript
复制
INSERT INTO Master_Table
SELECT Val AS ColA, NULL AS ColB FROM Child_Table

希望我已经解释了我要找的是什么。

EN

回答 2

Stack Overflow用户

发布于 2020-04-15 17:33:55

您可以使用字符串函数:

代码语言:javascript
复制
INSERT INTO Master_Table(ColA, ColB)
SELECT 
    SUBSTR(Val, 1, 25),    -- the first 25 characters of the string
    SUBSTR(Val, 26)        -- the reminder (if any)
FROM Child_Table

SUBSTR()的三参数形式允许您定义起点和要获取的字符数。双参数形式获取从给定位置到字符串末尾的所有内容。如果起始点大于字符串的长度,则返回一个NULL值。

票数 1
EN

Stack Overflow用户

发布于 2020-04-15 17:34:01

这很可能是一种糟糕的做法。

使用SUBSTR,例如

代码语言:javascript
复制
insert into master_table (cola, colb)
  select substr(input_value, 1, 25),    --> first 25 characters go to COLA
         substr(input_value, 26)        --> the rest goes to COLB
  from another_table;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61225469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档