0

我正在为 mssql 使用较旧的 PHP 驱动程序,并尝试使用 ContainsRegExp 命令过滤掉结果。问题是我要比较的字段是 ntext ,它会导致查询失败。是否可以在 ContainsRegExp 命令中进行强制转换,例如:

... 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)
4

1 回答 1

1

ContainsRegExp 不是标准的 SQL Server 命令。所以我不太确定你是如何得出那个声明的,但它不是 T-SQL。

我的猜测是,在某处类似的命令已用于 CLR 类型 - 因为您使用的语法 ( Field.Operation()) 用于调用 CLR 类型的方法。

于 2012-06-07T16:34:32.060 回答