所以我有这个表,我需要从中创建一个视图,我们称之为 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