所以我有这个表,我需要创建一个视图,我们称之为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
中的'NAME2'
SELECT SUBSTR(C2,1,12)作为表中的'NAME1' SELECT SUBSTR(C2,13,45)作为TABLE
答案 0 :(得分:1)
像
这样的东西CREATE VIEW VIEW1 AS
SELECT
C1,
SUBSTR(C2, 1,12) AS NAME1,
SELECT SUBSTR(C2, 13, 45) AS NAME2
FROM
TABLE1;
会正常工作。