2014-01-23 65 views
0

的PATINDEX似乎并没有在SQL Server CE 4.0的工作,我肯定是有错误的地方,从我个人而言,我可以在互联网上表现patingdex其他地方看到的例子中的SQL Server CE工作。SQL CE 4 PATINDEX不工作

当我执行查询

SELECT PATINDEX( '%[0-9]%', 'ABC123')AS表达式1 UNION ALL SELECT PATINDEX( '%[0-9]%',' 123456' )AS表达式1

我得到两行用 “0” 值。

但是,如果我跑

SELECT PATINDEX( '%C%', 'ABC123')AS表达式1

我得到 “3” 作为结果。我可以看到SQL CE 4.0似乎无法识别正则表达式。

请有人可以帮助我!

PS:我使用Visual Studio 2012与SQL Server CE在黄奇帆4.0

感谢,

阿伦

回答

0

我没有看到PATINDEX支持正则表达式的任何版本: SQL Server精简: http://technet.microsoft.com/en-us/library/ms174069.aspx SQL服务器:http://technet.microsoft.com/en-us/library/ms188395.aspx

+0

谢谢埃里克。但无论如何,我只能过滤数字列吗?我有一个表列类型nvarchar,并希望只提取列值为数字的行。由于ISNumeric在CE中不可用,所以我正在使用Patindex。你有什么建议吗?。再次感谢! – user2003438

+0

你可能使用PATINDEX,字符串和数据长度的组合来过滤掉一些行,但你会stiil必须通过的TryParse来检查代码,如果该值是数字 – ErikEJ