我正在重新发布我的问题,因为我是SQL 2012新手。
我想在以下行
中获取引号(")之间的数字数据ROW1:' asdalknd,"的 1,2,3,4 ",slknsdl,"的 -5,6,7,8- ",snlsn'
ROW2:' asknd,"的 111,267,387,4756 ",snsdl,"的 534646767348 ",&snlssdsdsdsjkvkn #39;
ROW3' ...
ROW4' ...
ROW5' ...
ROW6' ...
ROW7' ...
ROW8' ...
上面提到的是单列的行。
我只想提取数字(可能在每行的另一列中)
任何人都可以提供帮助,因为这超出了我对t-sql的基本知识。
由于
答案 0 :(得分:0)
这是丑陋,但最终会有效:
COLUMN = 'jksjdksls#$#$@@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
left(
right(COLUMN,len(COLUMN)-instr(COLUMN,"""")),
instr(
right(COLUMN,len(COLUMN)-instr(COLUMN,"""")),
"""") -1
)
- > 123,456,789
这是做了什么:
'jksjdksls#$#$@@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
instr(COLUMN,"""")
- >返回24 len(COLUMN)
- >取字符串的长度。 55并减去第一个“(24)instr()
”,我们需要使用right(COLUMN,len(COLUMN)-instr(COLUMN,""""))
再次创建,并在“。