sql - 像整数运算符

标签 sql sql-like

我的表中有一个 bigint (ProductSerial) 类型的列。我需要使用 like 运算符按产品序列过滤表。但我发现,像运算符不能用于整数类型。

有没有其他方法可以解决这个问题(我不想使用 = 运算符)。

最佳答案

如果您必须使用 LIKE ,您可以将您的号码投给 char/varchar ,并执行 LIKE结果上。这是相当低效的,但由于 LIKE无论如何,它很有可能杀死索引,它可能适用于您的场景:

... AND CAST(phone AS VARCHAR(9)) LIKE '%0203'

如果您想使用 LIKE要匹配数字的开头或结尾,您可以使用整数除法和模运算符来提取数字。例如,如果您想要所有以 407 开头的九位数字, 搜索
phone / 1000000 = 407

关于sql - 像整数运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462376/

相关文章:

mysql - 多条记录的最后 5 条相关记录

Mysql返回多行

mysql - SQL 更新查询帮助

mysql - 在 WHERE 子句中使用 % WILD

c# - 来自 C# 的 MS Access SQL LIKE 查询

sql - 在 PostgreSQL 中使用 POSIX 正则表达式比使用 LIKE 和 ILIKE 有什么优势?

sql - Oracle sql中的if语句

带有 'like' 的 mysql 查询不适用于 varchar 和空格

阿拉伯语中的 Sql LIKE?

mysql - 如何使用 Rails 或原始 SQL 使用自己的时区查询多个时区的记录