Sybase SQL: как извлечь числа из varchar-значений? - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть набор значений (varchars), которые состоят частично из букв (в результате количество букв> = 0) и частично из чисел.

Например:

abc-123
defjke12345 
987654

Isв sybase sql есть функция, которая извлекает часть значения, состоящую из чисел?

Продолжая приведенные примеры,

abc-123          should become 123
defjke12345      should become 12345 
987654           should stay   987654

Как этого добиться в sybase sql (процедурный язык)

1 Ответ

0 голосов
/ 01 февраля 2019

Попробуйте это с подстрокой и индексом шаблона:

DECLARE @yourfield VARCHAR(100)
SELECT  @yourfield ='defjke12345'

SELECT SUBSTRING(@yourfield , PATINDEX('%[^0-9][0-9]%', @yourfield ) + 1, 
PATINDEX('%[0-9][^0-9]%', @yourfield ) - PATINDEX('%[^0-9][0-9]%', @yourfield ))
...