Идентификационные номера в моей базе данных имеют код, встроенный в последние 3 символа.При сравнении этих идентификаторов на равенство иногда допустимо игнорировать последние 3 символа.
Т.е. 12345001 == 12345009
должно быть истинным.
Обычно я делаю это с помощью следующего предложения where:
where floor(id1/1000) == floor(id2/1000)
, но в случае, когда я знаю, id1 хранится в«Базовая» форма, где последние 3 цифры равны нулю, также будет работать следующее:
where id1 == floor(id2/1000)*1000
Это также возможно при использовании подстроки.
Q: Кто-нибудь может мне сказать по опыту, какой из этих трех методов является наиболее эффективным, или порекомендовать лучший (наиболее точный) способ для профилирования этих трех различных запросов.
Спасибо.