2014-01-23 2 views
0

Паттиндекс, похоже, не работает в SQL Server CE 4.0, я уверен, что где-то есть ошибка с моей стороны, так как я вижу примеры в другом месте в Интернете, показывающие patingdex, работающий в sql server ce ,SQL CE 4 Patindex Не работает

Когда я выполнить запрос

ВЫБОР PATINDEX ('% [0-9]%', 'ABC123') КАК выражение1 UNION ALL ВЫБОР PATINDEX ('% [0-9]%', ' 123456 ') AS Expr1

Я получаю две строки с «0» значением.

Однако, если я бегу

SELECT, PATINDEX ('% С%', 'ABC123') КАК Expr1

я получаю "3" в качестве результата. Я вижу, что SQL CE 4.0, похоже, не распознает регулярные выражения.

, пожалуйста, кто-нибудь может мне помочь!

PS: Я использую Visual Studio 2012 с SQL Server Ce 4.0

Благодаря Предвидя,

Arun

ответ

0

Я не вижу никакой версии PATINDEX поддерживает регулярные выражения: SQL Server Compact: http://technet.microsoft.com/en-us/library/ms174069.aspx SQL Server: http://technet.microsoft.com/en-us/library/ms188395.aspx

+0

Спасибо Эрик. Но так или иначе, я могу фильтровать только числовые столбцы ?. У меня есть тип столбца типа nvarchar и хотелось бы извлечь только строки, где значение столбца является числовым. Поскольку ISNumeric недоступен в CE, я искал использование Patindex. Есть ли у вас какие-либо предложения?. Еще раз спасибо! – user2003438

+0

Вы можете использовать комбинацию PATINDEX, подстроки и длины datalength для фильтрации некоторых строк, но вам нужно будет проверить код через TryParse, если значения были числовыми – ErikEJ

Смежные вопросы