Я пытаюсь найти и обновить запись, которая начинается с частичного числа или падения с диапазоном.есть лучший способ написать этот запрос
Я выполнил запрос, который работает там, где значения начинаются с определенного числа. Я не могу понять, как это сделать с диапазоном.
, например, я хочу, чтобы обновить следующие значения в products_ean с «»
255
201-230 ---> starts with 201,202,203 ...230
236
980-990 ---> starts with 980.981,982 ...990
Я написал следующий запрос, который работает, но не уверен, если это ЭФФЕКТИВНАЯ espcialy, когда он имеет к поиску более 100к записей. Он не работает с диапазоном.
UPDATE products SET products_ean =""
where products_ean like "200%"
OR products_ean like "020%"
OR products_ean like "023%"
OR products_ean like "027%"
OR products_ean like "042%"
OR products_ean like "221%"
OR products_ean like "209%"
OR products_ean like "041%"
OR products_ean like "049%"
OR products_ean like "026%"
OR products_ean like "025%"
OR products_ean like "299%";
Есть ли мотивация с помощью строкового поля для EAN-кодов? Моя идея состояла бы в том, чтобы добавить столбец, представляющий искомый номер, и сделать запрос диапазона на нем, а не на использование понравившихся – mkubacki
Если производительность является проблемой: денормализация (например, добавление столбцов) – Peter
@fallenPhantasm Коды EAN могут иметь разную длину, поэтому это будет делать диапазоны проверки более сложный. – GolezTrol