HI无法搞清楚这一点。有人可以帮我转换为SQL吗?我试图从各个领域中选择一个特定的句子。
numberVar BegPos := 0;
numberVar EndPos := 0;
BegPos := InStr ({HEADER_MSG.MEMO_PAD1} ,'STATUS:',1);
IF BegPos >= 1 THEN
EndPos := InStr (begpos,{HEADER_MSG.MEMO_PAD1} ,'.');
IF NOT ISNULL({HEADER_MSG.MEMO_PAD1}) THEN
(
BegPos := BegPos + 7;
IF (BegPos <= 0 OR EndPos <= 0) or BegPos = EndPos THEN
" "
ELSE
Mid ({HEADER_MSG.MEMO_PAD1},BegPos, Endpos - Begpos)
)
ELSE
" "
答案 0 :(得分:0)
所以你有一个具有Status:samplestatus的字段。并且你希望它返回第一个之间的所有内容:和。即。
Samplestatus
Substring()和PatIndex()将非常有用。
substring(HEADER_MSG.MEMO_PAD1, PatIndex('Status%',HEADER_MSG.MEMO_PAD1)+7, PatIndex('%.%',HEADER_MSG.MEMO_PAD1)-8)
其中HEADER_MSG.MEMO_PAD1是您的字段。
Select substring(Data, PatIndex('Status%', Data)+7, PatIndex('%.%', Data)-8)
from(
select 'Status: testStatus2.' as Data
)x
返回
testStatus2