1

所以我有这个表,我需要从中创建一个视图,我们称之为 TABLEABC。这张表的特点是它有 2 列。我们将第 1 列称为 C1,它是一个 CHAR(25) 列。很容易。

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

为什么你可能会问?好吧,它是 600 个字符,因为我根据偏移量在其中存储数据。

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

所以基本上我需要根据偏移量存储这个列,并且“偏移命名”需要具体,IE NAME1/NAME2(实际上称为不同的东西,但现在是 Name1/Name2)也有 15 个这样的偏移量。

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

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

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

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

编辑:

因此,对于示例而言,(我需要添加不同的偏移量)会像这样工作。(我不知道如何安排选择语句,我可以将它们添加到彼此之上吗?这是否有效(假设我添加了其余的选择?)最后是否需要添加任何内容?

CREATE VIEW VIEW1 AS
SELECT C1 FROM TABLE
SELECT SUBSTR(C2, 1,12) As 'NAME1' from TABLE
SELECT SUBSTR(C2, 13, 45) As 'NAME2' from TABLE

4

1 回答 1

1

就像是

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

可以正常工作。

于 2013-05-08T13:50:14.613 回答