查找 2 个字符串之间的字符串值
Find a string value between 2 strings
我有一个用 EntityFramework 加载的数据库。
在此数据库中有一个 table,其中包含几列。其中 2 个列称为 ZipcodeFrom 和 ZipcodeTill。 table 中的邮政编码来自不同的国家,因此没有真正的标准格式。
我现在遇到的问题如下
我收到一个邮政编码,我需要找到包含与收到的邮政编码关联的邮政编码范围的行。
我无法使用 SQL 来使用 BETWEEN 函数。所以我正在寻找 C# if (Zipcode BETWEEN ZipcodeFrom and ZipcodeTill)
的 BETWEEN 函数
假设您按字母顺序执行此操作,这实际上模仿了 SQL BETWEEN
操作:
var zipCode = "SOMECODE";
var result = from row in db.Table
where row.ZipcodeFrom <= zipCode
&& row.ZipcodeTo >= zipCode;
如果您的提供商不支持使用 <
、<=
、>
和 >=
运算符,您应该可以使用 string.Compare
:
var result = from row in db.Table
where string.Compare(row.ZipcodeFrom, zipCode) <= 0
&& string.Compare(row.ZipcodeTo, zipCode) >= 0;
我有一个用 EntityFramework 加载的数据库。
在此数据库中有一个 table,其中包含几列。其中 2 个列称为 ZipcodeFrom 和 ZipcodeTill。 table 中的邮政编码来自不同的国家,因此没有真正的标准格式。
我现在遇到的问题如下
我收到一个邮政编码,我需要找到包含与收到的邮政编码关联的邮政编码范围的行。
我无法使用 SQL 来使用 BETWEEN 函数。所以我正在寻找 C# if (Zipcode BETWEEN ZipcodeFrom and ZipcodeTill)
假设您按字母顺序执行此操作,这实际上模仿了 SQL BETWEEN
操作:
var zipCode = "SOMECODE";
var result = from row in db.Table
where row.ZipcodeFrom <= zipCode
&& row.ZipcodeTo >= zipCode;
如果您的提供商不支持使用 <
、<=
、>
和 >=
运算符,您应该可以使用 string.Compare
:
var result = from row in db.Table
where string.Compare(row.ZipcodeFrom, zipCode) <= 0
&& string.Compare(row.ZipcodeTo, zipCode) >= 0;