Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Vadim116 Member Откуда: Сообщений: 5 |
Данные: 1. есть набор 4-значных чисел 2. исполняется select ... where tr='*' где * какое-то 4-значное число из набора Понятно, когда чисел мало, используем или (tr='1234' or tr='3456'), или tr IN ('1234','3456') Но чисел несколько сотен. Полагаю, в нормальном варианте можно создать таблицу из одного столбца (временная/постоянная), перебить тип данных, использовать новую таблицу в seltect с inner join. Но у меня доступ только "зеркало", никакие update и прочее недоступно. Вопрос: как преобразовать сотни чисел в формат 'число из списка'? Может в IN можно менять тип? Или Word, Exel дают такую возможность замены (чего не нашел)? |
30 июн 18, 11:09 [21532762] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47051 |
Vadim116, откуда в запросе появляются несколько сотен чисел? Руками набираются? |
30 июн 18, 11:32 [21532778] Ответить | Цитировать Сообщить модератору |
Vadim116 Member Откуда: Сообщений: 5 |
Нет, скидывает коммерческий отдел, в виде набора цифр, их берут у партнеров. |
30 июн 18, 11:34 [21532780] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Vadim116, откуда и куда этот набор цифр надо передать? Где и кем выполняется select? Если из Excel копируется и вставляется в SQL Server Management Studio в виде столбика чисел, то в последней тупо через замену, используя регулярные выражения: начало строки на кавычку, конец на кавычку с запятой. |
30 июн 18, 11:50 [21532798] Ответить | Цитировать Сообщить модератору |
Vadim116 Member Откуда: Сообщений: 5 |
skyANA, извините, я не специалист sql, всего лишь тестировщик, использующий sql. Откуда/куда: есть набор цифр в почте, партнер сделал свой select и дал цифры. Теперь мне работать со своей базой. Кто select нужный: я. Да, цифры из почты могу вставить в Excel. Как поставить (в sql при транспортировке из Excel, да и как вообще их связать) ' в начале строки и ', в конце, не знаю. Вот, как добавить в select ... where tr IN (...) набор с (' в начале строки и ',) с цифрами из Excel? |
30 июн 18, 12:09 [21532837] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Vadim116, тут не надо быть специалистом по sql, а надо знать, что при поиске и замене есть возможность использовать регулярные выражения (галочку соответсвующую отметить) начало строки обозначается символом ^, указываете, что его надо заменить на кавычку конец строки обозначается символом $, указываете, что его надо заменить на кавыску с запятой Но Вы лучше для начала до конца опишите в каком конкретно виде Вы получаете набор чисел в почте? В виде столбика, строки, чего-то ещё? |
30 июн 18, 12:18 [21532849] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Vadim116, а ещё можно тупо (так как у Вас числа 4-х значные), использовать выражение \d\d\d\d, выполнить замену '$&', и, к примеру, строка 1234 5678 9012 преобразуется в '1234', '5678', '9012', вот тут можете потренироваться: https://regexr.com/ |
30 июн 18, 12:31 [21532859] Ответить | Цитировать Сообщить модератору |
Vadim116 Member Откуда: Сообщений: 5 |
skyANA, в виде столбика в почте. Грубо, есть расхождения данных в базе нашей/партнера. Мне надо сравнить, сделать диагноз для бага. |
30 июн 18, 12:32 [21532860] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Vadim116, если в виде столбика, то 1234 5678 9012 заменится на '1234', '5678', '9012', |
30 июн 18, 12:35 [21532866] Ответить | Цитировать Сообщить модератору |
Vadim116 Member Откуда: Сообщений: 5 |
skyANA, спасибо. Ничего в том сайте не получается, но это я сам виноват, не разобрался. Пойду в поиск "вставка Excel в sql"+замена. Ну или "замена в Excel" |
30 июн 18, 13:09 [21532904] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Vadim116, в Excel не надо вставлять, сразу в SQL Server Management Studio и там в меню выбираете поиск и замену. |
30 июн 18, 13:34 [21532929] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1238 |
Ваще-то MS SQL Express бесплатен. И имеючи ажно "зеркало", можно поставить себе на комп и пользоваться. |
||
30 июн 18, 13:59 [21532951] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |