修剪(删除)oracle sql查询结果列的最后8个字符,而不考虑结果列的大小
我的oracle sql查询结果有一列,其中包含零件描述,颜色代码和尺寸如修剪(删除)oracle sql查询结果列的最后8个字符,而不考虑结果列的大小,sql,oracle,Sql,Oracle,我的oracle sql查询结果有一列,其中包含零件描述,颜色代码和尺寸如羊绒府绸连帽衫,BL8133,S。我需要删除所有结果的最后11个字符,而不考虑结果列的大小 例如,结果是 CASHMERE POPOVER HOODIE, BL8133, S STRETCH PERFECT SHIRT IN CLAS, WA9148, L 我的预期结果: CASHMERE POPOVER HOODIE STRETCH PERFECT SHIRT IN CLAS 使用函数和: SQLFiddle 另外,
羊绒府绸连帽衫,BL8133,S
。我需要删除所有结果的最后11个字符,而不考虑结果列的大小
例如,结果是
CASHMERE POPOVER HOODIE, BL8133, S
STRETCH PERFECT SHIRT IN CLAS, WA9148, L
我的预期结果:
CASHMERE POPOVER HOODIE
STRETCH PERFECT SHIRT IN CLAS
使用函数和:
SQLFiddle
另外,在你问题的标题中,你说你必须删除最后8个字符,但在问题中,你说的是11个字符。无论如何,查询是相同的,根据需要使用8或11
substr(part_desc,1,length(part_desc)-10)
substr(part_desc,1,length(part_desc)-10)
SELECT SUBSTR(str, 1, Instr(str, substr(str, -11))-1 ) final_str FROM
(
SELECT 'CASHMERE POPOVER HOODIE, BL8133, S' str FROM dual
UNION
SELECT 'STRETCH PERFECT SHIRT IN CLAS, WA9148, L' FROM dual
)
/