我在现有的表“OS1115”中添加了一个新字段“StrikePrice”。 我需要修剪现有字段“symbol”中的一些字符并将其输入到新字段中。 我知道我可以这样做:
UPDATE OS1115 SET StrikePrice = RIGHT(symbol, 4)
但问题是我需要的字符数量在长度上有所不同,但总是被P或C取代。 以下是几个例子:
QQQ_112015C112.5
PCLN_112015P1287.5
NFLX_112015P107
我需要修剪P或C之后的字符串末尾的数字,然后在新字段中输入。 所以在这种情况下会导致: 112.5 1287.5 107 我怎样才能做到这一点? 我使用MS SQL Express 2012
答案 0 :(得分:0)
这样可行:
RIGHT(symbol, PATINDEX('%[cp]%', REVERSE(symbol))-1)
虽然我确定有多种方法可以做到。
答案 1 :(得分:0)
我在测试我的时候得到了一个答案。这是另一种方式:
子(StrikePrice,CHARINDEX( 'C',StrikePrice,6)+ CHARINDEX( 'P',StrikePrice,6)+1,99)