Mysql regex - как удалить после символа по шаблону?
Есть значения в таблице, с числами с точкой, например 24.25 , 3455.232 Составил запрос, но почему-то он не заменяет на пусто значения после точки (включая точку) - удаляет все значение. Может точку он как-то воспринимает не как символ точки, хотя я ее экранировал. Может есть отличия в регулярках в SQL и обычных?
UPDATE b_iblock_element_property
SET VALUE = REGEXP_REPLACE(VALUE, '\.\d+', '')
WHERE IBLOCK_ELEMENT_ID IN (SELECT ID from b_iblock_element WHERE IBLOCK_SECTION_ID = '182') AND IBLOCK_PROPERTY_ID = '208'
Ответы (1 шт):
Автор решения: Dima Kuzmin
→ Ссылка
Не знаю почему, но переделал регулярку и обозначил конец строки - так заработало.
UPDATE b_iblock_element_property
SET VALUE = REGEXP_REPLACE(VALUE, '(\.{1}[0-9]{1,4})$', '')
WHERE IBLOCK_ELEMENT_ID = '6409' AND IBLOCK_PROPERTY_ID = '208'