我的表中有一个 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/