2012-06-07 40 views
0

我爲mssql使用了較老的PHP驅動程序,並試圖使用ContainsRegExp命令過濾掉結果。問題是我正在比較的字段是ntext,它會導致查詢失敗。是否有可能做這樣的ContainsRegExp命令財產以後裏面投:我可以投入sqlserver containsregex嗎?

... AND Field1.ContainsRegExp(CAST(Field1 AS TEXT) AS Field1Test,\'html\')=1'; 

完整的查詢語句:

'SELECT ReportID, ReportDate, CAST(ReportData AS TEXT) AS TextData FROM Database WHERE ReportData.ContainsRegExp(CAST(ReportData AS TEXT),\'html\')=1'; 

我看到的錯誤是:

message: Cannot call methods on ntext. (severity 15) 
+0

你試過了嗎?它也可能有助於刪除列的命名。 – Limey

+0

嗯...我只是做了,它仍然抱怨NTEXT – user1216398

+0

我們可以看到更多的代碼和錯誤嗎? – Limey

回答

1

ContainsRegExp不是標準的SQL Server命令。所以我不確定你是如何得到這個聲明的,但它不是T-SQL。

我的猜測是,沿着某個類似的命令已經使用了CLR類型 - 因爲您正在使用的語法(Field.Operation())用於在CLR類型上調用方法。