|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Этот вопрос в продолжение темы http://www.sql.ru/forum/1027453/regulyarka-v-mysql-ili-zamena-simvolov-na-bukvy , там речь шла о поиске по лат. символам. Для решения предложили создать параллельно поле с замененными символами. Вопрос: Можно ли с помощью ф-ии REPLACE заменить символы из одного массива на соответствующие символы другого (или, незнаю, как-то сопоставить эти символы в ms sql). Как бы замена Oracle'ковской ф-ии TRANSLATE. Если можно такое замутить, то как создать такой запрос? Взять строку из поля, например, sNAme и вставить измененную строку в поле sNameSearch. у меня SQL SERVER 2008 R2 тип полей nvarchar(4000) кодировка cp1251 Записей очень много ~10Тб, но это в начале, потом каждый день по десятки-сотни тысяч строк Помогите разобраться ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:31 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Если втупую, то N вложенных реплейсов где N- количество обрабатываемых символов. Не могу сказать сходу как оно скажется на быстродействии. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:39 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklon, 1. Сделать у себя постоянную таблицу с числами, если её ещё нет. 2. В подзапросе (derived table) разобрать строки таблицы на символы с помощью этой таблицы чисел. 3. Собрать в запросе строки из джойна подзапроса из п.2 с таблицей замен с помощью FOR XML PATH(''), TYPE. Где-то на форуме я это писал, но что-то найти не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:41 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
CammomileЕсли втупую, то N вложенных реплейсов где N- количество обрабатываемых символов. Не могу сказать сходу как оно скажется на быстродействии.Вроде говорится о каком-то "другом массиве с соответствующими символами". Так просто вложенные REPLACEы не применишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:43 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Ну мне показалось, что автор несколько спутанно выразился. Ему же надо. насколько я понял, приводить некую строку, содержащую разные символы, к латинице. Это как раз запросто реплейсами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:45 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:46 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
iapCammomileЕсли втупую, то N вложенных реплейсов где N- количество обрабатываемых символов. Не могу сказать сходу как оно скажется на быстродействии.Вроде говорится о каком-то "другом массиве с соответствующими символами". Так просто вложенные REPLACEы не применишь. Судя по ссылке, данной в начале темы, "массивы с соответствующими элементами" заранее известны. Соответственно, и вложенные replace'ы можно написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:47 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
CammomileНу мне показалось, что автор несколько спутанно выразился. Ему же надо. насколько я понял, приводить некую строку, содержащую разные символы, к латинице. Это как раз запросто реплейсами.Это баян! Есть ли у кого готовая функция перевода (транслит) с руского на английский ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:48 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Тут транслит не нужен, насколько я пони. Т.е. надо не Я - менять на Ya, а отслеживать хитрожопых, которые ВИЗУАЛЬНО ОДИНАКОВЫЕ буквы меняют на английские или цифры ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:51 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
ps Код с реплейсами на 2 монитора убил наповал ... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:51 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 13:59 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:15 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
CammomileТут транслит не нужен, насколько я пони. Т.е. надо не Я - менять на Ya, а отслеживать хитрожопых, которые ВИЗУАЛЬНО ОДИНАКОВЫЕ буквы меняют на английские или цифрыименно так. главная задача отслеживать заказы негодяев, которые т.о., хотят, чтобы торги выигрывали "нужные люди". А вот код, которые вы привели, его можно запускать раз в сутки и тока новые (т.е, за последние сутки)? если да, то как? з.ы. с sql server'ом дружу не очень ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:23 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
iapnuklon, 1. Сделать у себя постоянную таблицу с числами, если её ещё нет. 2. В подзапросе (derived table) разобрать строки таблицы на символы с помощью этой таблицы чисел. 3. Собрать в запросе строки из джойна подзапроса из п.2 с таблицей замен с помощью FOR XML PATH(''), TYPE. Где-то на форуме я это писал, но что-то найти не могу.гыгы, не. мне нужно готовое решение. Слишком туго с sql server'ом ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:26 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nukloniapnuklon, 1. Сделать у себя постоянную таблицу с числами, если её ещё нет. 2. В подзапросе (derived table) разобрать строки таблицы на символы с помощью этой таблицы чисел. 3. Собрать в запросе строки из джойна подзапроса из п.2 с таблицей замен с помощью FOR XML PATH(''), TYPE. Где-то на форуме я это писал, но что-то найти не могу.гыгы, не. мне нужно готовое решение.Для этого есть специальный форум - Работа ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:30 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Фига, какой нынче стёдент наглый пошёл! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:30 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
iapnuklonпропущено... гыгы, не. мне нужно готовое решение.Для этого есть специальный форум - Работа а этот форум для чего, чтобы печатать ссылки на другой форум? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:32 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
CammomileФига, какой нынче стёдент наглый пошёл!Я тоже удивился. Нет чтобы поговорить! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:33 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nukloniapпропущено... Для этого есть специальный форум - Работа а этот форум для чего, чтобы печатать ссылки на другой форум? :) Ну явно не для того, чтобы давать вам готовые решения... почитайте правила.. никто ничем вам не обязан! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:34 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
CammomileФига, какой нынче стёдент наглый пошёл!так почти же написал, вот твое предложение оно верное? Если да то как ее продолжить и можно ли запускать его раз в сутки? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:35 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonCammomileФига, какой нынче стёдент наглый пошёл!так почти же написал, вот твое предложение оно верное? Если да то как ее продолжить и можно ли запускать его раз в сутки? Как продолжить хорошо описано здесь: http://msdn.microsoft.com/ru-ru/library/ms186862(v=sql.100).aspx А чтобы запускать раз в сутки надо настроить задание агента SQL Server ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:36 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
блин, товарищи, вы время тратите чтобы сказать, что ничем мне не поможете, за это время можно было понакатать что-нибудь ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:37 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nukloniapпропущено... Для этого есть специальный форум - Работа а этот форум для чего, чтобы печатать ссылки на другой форум? :)Для общего обсуждения появившихся проблем программистами, включая автора темы. А не одностороннего выполнения заказа такого вот "работодателя". Я даже намекнул на возможный успешный поиск "готового решения" на этом форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:37 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonблин, товарищи, вы время тратите чтобы сказать, что ничем мне не поможете, за это время можно было понакатать что-нибудь а вы за это время могли бы вполне изучить использование интересующей вас функции, разве не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:37 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Сергей Викт.Как продолжить хорошо описано здесь: http://msdn.microsoft.com/ru-ru/library/ms186862(v=sql.100).aspx А чтобы запускать раз в сутки надо настроить задание агента SQL Serverвоот, можно же и без оплаты советы давать ) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:38 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonСергей Викт.Как продолжить хорошо описано здесь: http://msdn.microsoft.com/ru-ru/library/ms186862(v=sql.100).aspx А чтобы запускать раз в сутки надо настроить задание агента SQL Serverвоот, можно же и без оплаты советы давать ) ну так то советы, а не готовые решения! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:39 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonблин, товарищи, вы время тратите чтобы сказать, что ничем мне не поможете, за это время можно было понакатать что-нибудь если б в первом посте было указано, что вам нужна не помощь, а готовое решение, то никто бы время и не тратил ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:39 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Он еще и выговаривает! Ну люди... =\ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:40 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Сергей Викт.а вы за это время могли бы вполне изучить использование интересующей вас функции, разве не так?а что делаю? я могу тоже самое на php написать, тока я думал прямо в sql server'e будет быстрее. Есть еще вариант на Delphi, просто нужно было мнение подкованных в этом вопросе людей ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:41 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonСергей Викт.а вы за это время могли бы вполне изучить использование интересующей вас функции, разве не так?а что делаю? я могу тоже самое на php написать, тока я думал прямо в sql server'e будет быстрее. Есть еще вариант на Delphi, просто нужно было мнение подкованных в этом вопросе людей Вы просите готовое решение, а сейчас уже говорите о том, что вам нужно было мнение... Я вас правда не понимаю. А это просто так, для общей картины обстановки на форуме. Если вдруг в будущем у вас возникнет необходимость обратиться, то помните: [qout Glory]10. Этот форум добровольный. Никто не обязан здесь Вам ничем. Все ответы даются добровольно. Подначивания типа: "ну что видать нет тут никаких профи" и "а вот слабо вам гуры" не приветствуются. Жалобы вида "я бедный студент, завтра зачет, а ничего не готово" и "ну что вам лень что ли написать полный запрос" - тоже. Основная цель форума - дать Вам рекомендации как Вам решить Вашу проблему. Никто не обязан делать Вашу работу за Вас.[qout] ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:43 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Cammomile Код: sql 1. 2. 3. 4.
да совет, вот например, этот код правильное решение (ну в плане быстроты, вообще логики)? Если это выход дальше возьму его за основу. И второй момент, записей как я сказал ооооочень много, такой код прокатит или какие-то задержки делать? если да, то как? Подскажите, это же не готовое решение ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:45 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonCammomile Код: sql 1. 2. 3. 4.
да совет, вот например, этот код правильное решение (ну в плане быстроты, вообще логики)? Если это выход дальше возьму его за основу. И второй момент, записей как я сказал ооооочень много, такой код прокатит или какие-то задержки делать? если да, то как? Подскажите, это же не готовое решение В плане быстроты точно будет ясно, когда полностью будет готов запрос. Задержки делать не надо, для 10Тб данных вам даже замена одной буковки обойдётся совсем не в 10 секунд:) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:46 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Сергей Викт. Я вас правда не понимаю.имелось ввиду, явные указания на решение (ну типа правильный код, хотя бы кусок и в каком направлении дальше двигаться), а не типа "почитай там", "стань лауретом" и т.п. Сергей Викт. Задержки делать не надо, для 10Тб данных вам даже замена одной буковки обойдётся совсем не в 10 секунд:)а ошибка не выпадет, мол памяти не хватает или еще че-то там? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:50 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Данные можно обрабатывать небольшими порциями, например. Безотносительно конкретно моего примера кода ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:52 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
CammomileДанные можно обрабатывать небольшими порциями, например. Безотносительно конкретно моего примера кода ;-)мм.. вот я об этом и спрашиваю, как sql'ом задать чтобы он обрабатывал небольшими порциями? А вторая часть.. - не понял. т.е., твой код нельзя порциями запускать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:58 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonCammomileДанные можно обрабатывать небольшими порциями, например. Безотносительно конкретно моего примера кода ;-)мм.. вот я об этом и спрашиваю, как sql'ом задать чтобы он обрабатывал небольшими порциями? А вторая часть.. - не понял. т.е., твой код нельзя порциями запускать? Порциями запускается не код. Порциями в этот код передаются обрабатываемые данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 14:59 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Сергей Викт.Порциями запускается не код. Порциями в этот код передаются обрабатываемые данные. и как же это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 15:05 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
Зависит от того как организованны обрабатываемые данные. Серьезно, не ждите, что вам положат в рот волшебную пилюлю. Если вы хотите работать с эскуль сервером, вам необходимо освоить определенные азы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 15:11 |
|
Помогите создать запрос с REPLACE
|
|||
---|---|---|---|
#18+
nuklonСергей Викт.Порциями запускается не код. Порциями в этот код передаются обрабатываемые данные. и как же это сделать? Например у вас таблица на 100 млн. записей. Берёте например первый миллион записей из первой таблице и переносите во вспомогательную, далее во вспомогательной делаете то, что вам нужно. и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 15:15 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1706683]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 233ms |
total: | 522ms |
0 / 0 |