OleDB中的正则表达式

时间:2014-12-01 20:44:55

标签: sql regex vb.net oledb

如何在OleDB连接中使用正则表达式?我试过这个:

Dim conn As New OleDbConnection
conn.ConnectionString = "my little secret"
conn.Open()

Dim cmd As New OleDbCommand( _
    "SELECT * FROM books WHERE title REGEXP '^.*[a-z][a-z][0-9].*$'", cmd)
Dim dt As DataTable = cmd.ExecuteQuery()

但会导致语法错误(缺少运算符)。

1 个答案:

答案 0 :(得分:1)

如果您试图获取标题中包含单词hello的所有书籍,那么您可以使用sql LIKE运算符,您不需要正则表达式,只需将您的sql命令更改为此,

"SELECT * FROM books WHERE title Like '%hello%' "

更新

如果您没有使用复杂的正则表达式,那么我仍然建议使用LIKE运算符,请参阅一些示例here。如果你必须有正则表达式,那么你可以在Vb.Net中创建一个函数并将dll作为CLR function导入到sql server中并使用它,参见details