|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
Помогите, пожалуйста, с регулярным выражение в апдейт запросе. Допустим, есть таблица с полем number содержащим код страны number ------------------------------- РОСС RU .АЯ42.В31235 С- IT .АЮ64.В.01123 ТС RU С- FR .АЮ85.А.06560 каким запросом я могу сделать UPDATE таблицы и записать в поле strana соответствующие коды стран? strana ------------------------------- RU IT FR ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 13:33 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
weberilo ТС RU С- FR .АЮ85.А.06560 Почему FR, а не TC (Turks and Caicos Islands) или же RU? Опишите как отличить одно от другого, что может меняться в тексте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 14:03 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
Melkij, нужны только два символа перед первой точкой ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 14:04 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
weberilo, тогда и регулярка не нужна, просто substring(number, position('.' in number) - 2, 2) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 14:17 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
weberilo, А если регулярка всё такие будет нужна, то: SELECT SUBSTR(REGEXP_SUBSTR(number, '([A-Z.]{3})'), 1, 2) from <table>; вот запрос который вам должен подойти update <table> set strana = SUBSTR(REGEXP_SUBSTR(number, '([A-Z.]{3})'), 1, 2); Ну или то что сверху вам написали ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 14:49 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
Melkij, Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 14:52 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
freebsdd weberilo, А если регулярка всё такие будет нужна, то: SELECT SUBSTR(REGEXP_SUBSTR(number, '([A-Z.]{3})'), 1, 2) from <table>; Пока не встретится первый прилетевший дятел какой-нибудь TCRU С-FR.АЮ85.А.06560 Что в символьной маске забыла точка? '([A-Z]{2})\\.' хотя бы ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 15:19 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
Лучше RIGHT(SUBSTRING_INDEX(number, '.', 1), 2) . Регэкспы для такой задачи явно избыточны. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 15:20 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
Melkij freebsdd weberilo, А если регулярка всё такие будет нужна, то: SELECT SUBSTR(REGEXP_SUBSTR(number, '([A-Z.]{3})'), 1, 2) from <table>; Пока не встретится первый прилетевший дятел какой-нибудь TCRU С-FR.АЮ85.А.06560 Что в символьной маске забыла точка? '([A-Z]{2})\\.' хотя бы UPD: Да, ваш способ получше будет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 16:19 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
freebsdd, окай, объясняю наглядно: Код: plaintext 1. 2. 3. 4. 5. 6.
Насколько это похоже на "нужны только два символа перед первой точкой"? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 16:24 |
|
Запись в поле части текста из другого поля
|
|||
---|---|---|---|
#18+
Melkij freebsdd, окай, объясняю на наглядно: Код: plaintext 1. 2. 3. 4. 5. 6.
Насколько это похоже на "нужны только два символа перед первой точкой"? Да, проверил, ваш способ получше будет, я пробовал с "\." не знал, что для mysql Нужно "\\." ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 16:25 |
|
|
start [/forum/topic.php?fid=47&gotonew=1&tid=1827949]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
228ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 339ms |
0 / 0 |