Oracle View基于表列的“偏移量”

时间:2013-05-08 13:25:52

标签: oracle oracle11g

所以我有这个表,我需要创建一个视图,我们称之为TABLEABC。关于这个表的事情是它有2列。第1列我们将调用C1,它是CHAR(25)列。 很容易。

棘手的部分是下一栏......以及我需要做些什么。 我们称之为C2,它是600字节!

为什么你会问?好吧,这是600个字符,因为我根据偏移量存储数据。

例如: NAME1的大小:15开始偏移:1结束偏移:12 NAME2的大小:45起始偏移:13结束偏移:49

所以基本上我需要根据偏移来存储这个列,并且“Offset Named”需要是特定的,IE NAME1 / NAME2(实际上称为不同的东西,但现在是Name1 / Name2) 还有15个这样的补偿。

现在我已经做了一些Oracle管理员的东西,但只是你的基本内容。我更了解SQL Server,但这远远超出了我以前所做的,但我总是在寻找挑战。对我来说,观点也很新鲜。这使得它变得更加困难。

我想这可能是一个SUBSTR函数,如:

SELECT SUBSTR(C2, 1, 12) As NAME1 from TABLE

那会有用吗?我没有对存储过程做过任何事情,所以也许他们有更好的方法吗?

编辑:

因此,对于一个明智的样本,(我需要添加不同的偏移量)就像这样的工作。 (我不知道如何安排选择语句,我可以将它们添加到彼此之上吗?就像这样工作(假设我添加其余选项?)并且最后是否需要添加任何内容?

  

创建视图视图1    SELECT C1 FROM TABLE
   SELECT SUBSTR(C2,1,12)作为表中的'NAME1'    SELECT SUBSTR(C2,13,45)作为TABLE

中的'NAME2'

1 个答案:

答案 0 :(得分:1)

这样的东西
CREATE VIEW VIEW1 AS
  SELECT
    C1,
    SUBSTR(C2, 1,12) AS NAME1,
    SELECT SUBSTR(C2, 13, 45) AS NAME2
  FROM
    TABLE1;

会正常工作。