MS SQL ->UPDATE заявка
3 отговора
460 прегледа
MS SQL ->UPDATE заявка
Имам nvarchar поле : 'Дума1 Дума2 Дума3 Дума4'. Трябва всички полета започващи с 'Дума1 Дума2 Дума3', да останат 'Дума3 Дума4'.
Идеи как да стане?
Мерси предварително!
Идеи как да стане?
Мерси предварително!
Re: MS SQL ->UPDATE заявка
UPDATE myTable SET wordsField = SUBSTRING_INDEX(wordsField,' ',-2) WHERE wordsField LIKE 'Дума1 Дума2 Дума3%'
Това връща последните 2 срички. Така върши ли ти работа или?
Има три вида хора. Част от проблема, част от решението и част от пейзажа.
Това връща последните 2 срички. Така върши ли ти работа или?
Има три вида хора. Част от проблема, част от решението и част от пейзажа.
Re: MS SQL ->UPDATE заявка
1) Substring_index is not recognized function name .....
2) Знам със сигурност колко и какви са първите думи, последните може да са 2,5,10 .........
Да обясня какво правя .... Във въпросното поле има текст, който смислово може да се раздели на две части - примерно : 1ва част- име на фирма, 2 ра част- някакви данни за фирмата. Задачката е двете неща да се разделят в отделни полета от таблицата. Имената на фирмите са краен брой (към 200 със различните варианти на изписване на едно и също нещо), вторите части са хиляди.
До тук преместих имената(първите ен думи в друго поле) със заявки : UPDATE table SET new = 'name' WHERE old LIKE 'name%';. Сега трябва да резна имената от старото поле.
2) Знам със сигурност колко и какви са първите думи, последните може да са 2,5,10 .........
Да обясня какво правя .... Във въпросното поле има текст, който смислово може да се раздели на две части - примерно : 1ва част- име на фирма, 2 ра част- някакви данни за фирмата. Задачката е двете неща да се разделят в отделни полета от таблицата. Имената на фирмите са краен брой (към 200 със различните варианти на изписване на едно и също нещо), вторите части са хиляди.
До тук преместих имената(първите ен думи в друго поле) със заявки : UPDATE table SET new = 'name' WHERE old LIKE 'name%';. Сега трябва да резна имената от старото поле.
Re: MS SQL ->UPDATE заявка
Всъщност май измислих това:
UPDATE Test
SET word = SUBSTRING(word, LEN('Дума1 Дума2 Дума3') + 1, LEN(word))
WHERE (word LIKE 'Дума1 Дума2 Дума3%');
UPDATE Test
SET word = SUBSTRING(word, LEN('Дума1 Дума2 Дума3') + 1, LEN(word))
WHERE (word LIKE 'Дума1 Дума2 Дума3%');