0

我的模型中有以下语句:

.where("ClinicalText LIKE 'Paid by PET HEALTH' AND PVID != 44444")

我需要找到ClinicalText包含以下内容之一的所有记录:

Paid by PET HEALTH
Paid by PET HEALTH(T)
Paid by PET HEALTH (T)

我认为我的like 声明将涵盖所有选项,因为它们都包含“由 PET HEALTH 支付”。

看来我错了,现在需要找到正确的语法。

这可能吗?

4

2 回答 2

1

LIKE需要通配符

.where("ClinicalText LIKE '%Paid by PET HEALTH%' AND PVID != 44444")

于 2013-09-11T12:23:23.347 回答
1

在 MySQL 中,您应该能够使用 '%' 通配符。

.where("ClinicalText LIKE 'Paid by PET HEALTH%' AND PVID != 44444")

当然,这将得到以字符串“由 PET HEALTH 支付”开头的任何内容(取决于您的 MySQL 设置,这可能区分大小写,也可能不区分大小写。)

编辑:此答案仅使用一个通配符来限制与以必要字符串开头的字符串的匹配。如果要匹配值中的任何位置,请在前面添加一个“%”。

于 2013-09-11T12:23:34.747 回答