powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите создать запрос с REPLACE
25 сообщений из 39, страница 1 из 2
Помогите создать запрос с REPLACE
    #38290163
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот вопрос в продолжение темы 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Тб, но это в начале, потом каждый день по десятки-сотни тысяч строк

Помогите разобраться
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290179
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если втупую, то N вложенных реплейсов где N- количество обрабатываемых символов. Не могу сказать сходу как оно скажется на быстродействии.
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290187
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nuklon,

1. Сделать у себя постоянную таблицу с числами, если её ещё нет.
2. В подзапросе (derived table) разобрать строки таблицы на символы с помощью этой таблицы чисел.
3. Собрать в запросе строки из джойна подзапроса из п.2 с таблицей замен с помощью FOR XML PATH(''), TYPE.

Где-то на форуме я это писал, но что-то найти не могу.
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290189
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileЕсли втупую, то N вложенных реплейсов где N- количество обрабатываемых символов. Не могу сказать сходу как оно скажется на быстродействии.Вроде говорится о каком-то "другом массиве с соответствующими символами".
Так просто вложенные REPLACEы не применишь.
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290191
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну мне показалось, что автор несколько спутанно выразился.
Ему же надо. насколько я понял, приводить некую строку, содержащую разные символы, к латинице. Это как раз запросто реплейсами.
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290197
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
DECLARE @str varchar(10) 
SET @str = 'об вp' /*тут p - аглийская Пи*/


SELECT UPPER(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@str,'о','0'),'б', 'B'),'р','R'),'в','V') ,' ','') )
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290201
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapCammomileЕсли втупую, то N вложенных реплейсов где N- количество обрабатываемых символов. Не могу сказать сходу как оно скажется на быстродействии.Вроде говорится о каком-то "другом массиве с соответствующими символами".
Так просто вложенные REPLACEы не применишь.
Судя по ссылке, данной в начале темы, "массивы с соответствующими элементами" заранее известны. Соответственно, и вложенные replace'ы можно написать.
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290204
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileНу мне показалось, что автор несколько спутанно выразился.
Ему же надо. насколько я понял, приводить некую строку, содержащую разные символы, к латинице. Это как раз запросто реплейсами.Это баян!
Есть ли у кого готовая функция перевода (транслит) с руского на английский
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290212
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут транслит не нужен, насколько я пони. Т.е. надо не Я - менять на Ya, а отслеживать хитрожопых, которые ВИЗУАЛЬНО ОДИНАКОВЫЕ буквы меняют на английские или цифры
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290214
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ps
Код с реплейсами на 2 монитора убил наповал ...
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290235
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomileнасколько я пони

вы уже не впервые признаётесь, что вы — пони 14343682
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290271
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nuklon,

10230455
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290287
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CammomileТут транслит не нужен, насколько я пони. Т.е. надо не Я - менять на Ya, а отслеживать хитрожопых, которые ВИЗУАЛЬНО ОДИНАКОВЫЕ буквы меняют на английские или цифрыименно так. главная задача отслеживать заказы негодяев, которые т.о., хотят, чтобы торги выигрывали "нужные люди".
А вот код, которые вы привели, его можно запускать раз в сутки и тока новые (т.е, за последние сутки)? если да, то как?

з.ы. с sql server'ом дружу не очень
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290296
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iapnuklon,

1. Сделать у себя постоянную таблицу с числами, если её ещё нет.
2. В подзапросе (derived table) разобрать строки таблицы на символы с помощью этой таблицы чисел.
3. Собрать в запросе строки из джойна подзапроса из п.2 с таблицей замен с помощью FOR XML PATH(''), TYPE.

Где-то на форуме я это писал, но что-то найти не могу.гыгы, не. мне нужно готовое решение. Слишком туго с sql server'ом
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290305
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nukloniapnuklon,

1. Сделать у себя постоянную таблицу с числами, если её ещё нет.
2. В подзапросе (derived table) разобрать строки таблицы на символы с помощью этой таблицы чисел.
3. Собрать в запросе строки из джойна подзапроса из п.2 с таблицей замен с помощью FOR XML PATH(''), TYPE.

Где-то на форуме я это писал, но что-то найти не могу.гыгы, не. мне нужно готовое решение.Для этого есть специальный форум - Работа
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290307
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фига, какой нынче стёдент наглый пошёл!
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290311
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iapnuklonпропущено...
гыгы, не. мне нужно готовое решение.Для этого есть специальный форум - Работа а этот форум для чего, чтобы печатать ссылки на другой форум? :)
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290313
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileФига, какой нынче стёдент наглый пошёл!Я тоже удивился.
Нет чтобы поговорить!
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290315
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nukloniapпропущено...
Для этого есть специальный форум - Работа а этот форум для чего, чтобы печатать ссылки на другой форум? :)
Ну явно не для того, чтобы давать вам готовые решения... почитайте правила.. никто ничем вам не обязан!
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290320
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CammomileФига, какой нынче стёдент наглый пошёл!так почти же написал, вот твое предложение оно верное? Если да то как ее продолжить и можно ли запускать его раз в сутки?
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290323
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nuklonCammomileФига, какой нынче стёдент наглый пошёл!так почти же написал, вот твое предложение оно верное? Если да то как ее продолжить и можно ли запускать его раз в сутки?
Как продолжить хорошо описано здесь:
http://msdn.microsoft.com/ru-ru/library/ms186862(v=sql.100).aspx

А чтобы запускать раз в сутки надо настроить задание агента SQL Server
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290325
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, товарищи, вы время тратите чтобы сказать, что ничем мне не поможете, за это время можно было понакатать что-нибудь
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290326
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nukloniapпропущено...
Для этого есть специальный форум - Работа а этот форум для чего, чтобы печатать ссылки на другой форум? :)Для общего обсуждения появившихся проблем программистами, включая автора темы.
А не одностороннего выполнения заказа такого вот "работодателя".
Я даже намекнул на возможный успешный поиск "готового решения" на этом форуме.
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290332
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nuklonблин, товарищи, вы время тратите чтобы сказать, что ничем мне не поможете, за это время можно было понакатать что-нибудь
а вы за это время могли бы вполне изучить использование интересующей вас функции, разве не так?
...
Рейтинг: 0 / 0
Помогите создать запрос с REPLACE
    #38290337
nuklon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Викт.Как продолжить хорошо описано здесь:
http://msdn.microsoft.com/ru-ru/library/ms186862(v=sql.100).aspx

А чтобы запускать раз в сутки надо настроить задание агента SQL Serverвоот, можно же и без оплаты советы давать )
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите создать запрос с REPLACE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]