Sql server SQL Server从字符串中提取匹配字符串
我用JavaScript创建了一个正则表达式Sql server SQL Server从字符串中提取匹配字符串,sql-server,Sql Server,我用JavaScript创建了一个正则表达式 /(E)-(\d)(\d*)-(\d)(\d*)/g 有人能帮我在SQL Server中创建相同的正则表达式吗 我必须从字符串中提取所有匹配的模式 Enquiry no is (E-4380-01) and E-4380-02 .... 输出应该是 (E-4380-01) E-4380-02 SQL Server没有自己的正则表达式实现,但您可以使用CLR将System.Text.RegularExpressions.regex包含到SQL
/(E)-(\d)(\d*)-(\d)(\d*)/g
有人能帮我在SQL Server中创建相同的正则表达式吗
我必须从字符串中提取所有匹配的模式
Enquiry no is (E-4380-01) and E-4380-02 ....
输出应该是
(E-4380-01)
E-4380-02
SQL Server没有自己的正则表达式实现,但您可以使用CLR将System.Text.RegularExpressions.regex包含到SQL Server中。SQL将如下所示:
DECLARE@SourceText NVARCHAR(MAX)=N'(E-4380-01)E-4380-02';
声明@regexpatern NVARCHAR(MAX)=N'(?E-\d+-\d+);
声明@IsCaseSensitive位=0;
挑选*
来自regex.Match(@SourceText、@regexpatern、@IsCaseSensitive);
结果将是:
+-----------+-----------+------+-----------+---------+---------+
|GroupNumber|IndexNumber|Length|MatchNumber|Value |GroupName|
+-----------+-----------+------+-----------+---------+---------+
|1 |1 |9 |0 |E-4380-01|number |
|1 |12 |9 |1 |E-4380-02|number |
+-----------+-----------+------+-----------+---------+---------+
是我写的。您可以使用它。默认情况下,SQL Server不支持正则表达式。在这种情况下,您可能希望在数据库之外处理此问题。