玻璃規格中提取玻璃厚度
select C.id,c.mc, substring(M.glassT,CharIndex('*',M.GLassT,5)+1,CharIndex('t',M.GLassT)-CharIndex('*',M.GLassT,5) ) as GL
, M.glassT
from t_makep m, t_Combo C, t_make_inf A
where c.id=m.MNAME and c.app_id='t_makep' and c.lb='GZMS'
AND A.ENG_NO=M.ENG_NO and A.MAKE_no='D1B2FE343'
因,玻璃規格輸入規範性約束不強,有些提取不到有效值.
例如:(1) 14"*16"*1.1tSP
(2)12.6"*14"*0.55t
CharIndex('*', Str_source,第N個字符開始);
問題點:CHARINDEX()函數沒有Oracle INSTR()函數好用,
現在我要取第二次出現的字符所在位置。
MSSQL: CharINDEX() 函數就沒有這樣功能。
Oracle : INSTR() 函數就可以,例如:
SELECT INSTR(STR_SOURCE,'A',2) FROM DUAL;[@more@]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/729024/viewspace-1056396/
,如需转载,请注明出处,否则将追究法律责任。