Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
Есть текстовое поле, в нем английские буквы и цифры, например 62Z4953FR45834A. К в SQL запросе заменить буквы на цифры? Что-то не могу сообразить. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 11:35 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
сделал тупо в лоб, так как красивого решения не нашел Код: SQL 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 14:53 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
у меня типа поля bigint, но как оказалось, у некоторых компаниях специалисты слабые, не могут вытянуть из БД уникальный код, они могут только другой код уникальный предоставить, но он содержит буквы. Хорошо, что в моем случае, по факту, буквы только в определенных местах (хотя там могут быть и цифры). Поэтому, чтобы на ходу получить уникальный код я заменил буквы на ascii(@символ). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 07:47 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 09.06.2020, 05:27 vad72 05.06.2020, 11:35 Есть текстовое поле, в нем английские буквы и цифры, например 62Z4953FR45834A. К в SQL запросе заменить буквы на цифры? Что-то не могу сообразить. Код: SQL 1.
Но решение очень элегантное! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 07:50 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
WildMage 09.06.2020, 08:27 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 08:35 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
WildMage 09.06.2020, 15:26 SandalTree 09.06.2020, 15:25 WildMage 09.06.2020, 08:27 ... Уже 4 года этой функции как с 2017 и на Ажуре. https://docs.microsoft.com/en-us/sql/t-sql/functions/translate-transact-sql?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 15:38 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 10.06.2020, 02:16 Цитата А по какому правилу должна производится замена? У меня два выхода, изменить в своей таблице тип поля с bigint на varchar, но что-то мне подсказывает, что поля такого типа будут хуже индексироваться, если я не прав, то поправьте меня, плюс перезалить все данные нужно будет, хотя, возможно, есть какой-то более оперативный способ изменения типа поля. Поэтому я решил на лету менять буквы на цифры (на ASCII код буквы), чтобы на выходе было то, что можно вставить в поле с типом bigint, и чтобы поле оставалось уникальным. Хорошо, что пока буквы в определенных местах и можно просто решить проблему. А если завтра буквы начнут появляться в любом месте, то тогда что? Придется перебирать все позиции в строке и менять всё, неважно буква или цифра, на ASCII код. :( ... |
|||
:
Изменено: 10.06.2020, 07:56 - vad72
Нравится:
Не нравится:
|
|||
10.06.2020, 07:51 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
У меня тут мысль мелькнула, немного не по теме. А если текстовый параметр (поле в таблице) какой-то, который используется для поиска, сохранять в БД в виде bigint, то поиск по такому полю будет быстрее осуществляться? Если вместо фамилии я буду в БД сохранять фамилию в виде bigint (если цифр хватит), то поиск будет быстрее же? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 08:00 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
ну да, главное чтобы без коллизий. Я выше писал зачем, нужно "текстовое поле" засунуть в bigint. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:14 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
kDn 10.06.2020, 15:35 Итог - ежели схему можно поменять убрав нафиг бигинт, но нужно поменять и забыть. Конкретно сейчас в этой табличке 239 672 048 записей. Что будет со скоростью работы sql-запросов, процедур ? Я боюсь, что скорость может снизится, а мне такое не подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 16:04 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|
---|---|
#18+
eNose 10.06.2020, 15:33 Вадик, извини за вопрос. Ты гуманитарий? ... |
|
:
|
|
10.06.2020, 16:19 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
Бояннизд02 10.06.2020, 21:13 и за ради чего этот изврат? давайте попросим вада72 полный идентификатор, не удивлюсь. если вдруг там окажется guid. странно, что ещё никто не предложил варианта с дополнительным полем. Это поле, которое 15 лет существует - primary key таблицы, через которое, естественно, идет связь на другие таблицы в БД. И так как на том конце дегенераты, которые не могут подготовить файл для импорта, то мне приходится на моей стороне, где собираются все данные со всех компаний идти на один из шагов: 1. Изменить все праймеры кей в существующих таблицах с bigint на varchar (с учетом, что кол-во записей несколько миллиардов в БД, это займет некоторое время). Скорость выборок упадет. 2. Но ходу при импорте данных из файла преобразовывать (хешировать) их столбец с буквами в bigint (и там не guid). Тут, как по мне, никаких проблем не должно возникнуть, сейчас так и настроил. 3. Увольнять персонал на том конце, пока не сделают поле типа bigint (но я на такое никогда не иду, все мы люди, нужно друг другу помогать, тем более, что там SAP, и они и так там всё в "рукопашную" делают, бедняги). P.S. Кстати, они мне еще одну задачку добавили, стали отрицательные числа в текстовый файл писать в виде 1234.56- . Тоже надо подумать, как это исправить на лету. ... |
|||
:
Изменено: 11.06.2020, 08:25 - vad72
Нравится:
Не нравится:
|
|||
11.06.2020, 08:23 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
kDn 10.06.2020, 18:45 Надеюсь там шота ценное и бакапы как правило уже проепаны? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 08:31 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 10.06.2020, 15:52 SAP разрабатывали на "экстремальные ситуации". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 08:36 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
Бояннизд02 11.06.2020, 13:52 так если обратная связь не нужна, то нахера этот огород? А вот если бы буквы попадались в любом месте, то пришлось бы "пробегаться" по-символьно и делать замену каждого символа через анси в трехзначную цифру. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 14:02 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
Акционеры из разных стран, я из Киева. ... |
|||
:
Изменено: 11.06.2020, 15:03 - vad72
Нравится:
Не нравится:
|
|||
11.06.2020, 15:03 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 11.06.2020, 15:20 Я знал бизнес, который так обанкротился. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 15:43 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
kDn 11.06.2020, 16:30 vad72 11.06.2020, 15:03 Акционеры из разных стран, я из Киева. --------------- Теперь по сути вашего вопроса. Менять нечто там в id для данных приходящих извне - бред. Вам фактически нужно сделать чтобы id (PK) менялся самостоятельно хоть как IDENTITY, хоть через секвенс. Пофиг. А для сопоставления нужно попросту использовать доп. поле refExternalID, где вы на всяк случай будете сохранять ID из внешней системы. Вот и все. * Когда речь идет о модификации таблиц с мульярдами строк, то нужно понимать, что это будет крайне долго и затратно по логу. Следствие - возможно имеет смысл создать таблицу нужной структуры - слить туда данные неспешно, дальше грохнуть исходную, а целевую переименовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 16:54 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 11.06.2020, 18:15 Ему инта вполне хватит, у него 200 миллионов значений против 4 миллиардов. Ещё на много-много лет хватит, а к тому времени он уже на пенсию уйдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2020, 08:35 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 12.06.2020, 14:11 Какая разница сколько там цифр, главное сколько там всего записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2020, 08:06 |
|
Вопросы по IT / замена букв на цифры в MS SQL
|
|||
---|---|---|---|
#18+
SandalTree 15.06.2020, 14:10
Вопрос в том у вас единовременная конвертация или вы собираетесь это делать регулярно или вообще работать в параллельном режиме? Да и вообще, что-то я устал, если честно. Хочется чего-то нового, например, открыть какую-то маленькую кофейню и наслаждаться жизнью, работая на себя, а не заносить хвосты всем кому только можно (но это наёмный труд, всё по честному, без принуждения). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 07:50 |
|
Start [/forum-old/search.php?do_search=1&tid=48282&author_mode=wrote_post&author=vad72&start_from=2220685]: |
0ms |
get settings: |
1ms |
get forum list: |
2ms |
searching: |
10ms |
get settings: |
1ms |
get forum list: |
4ms |
get topic data: |
3ms |
check forum access: |
0ms |
check topic access: |
0ms |
get forum data: |
0ms |
get found posts: |
43ms |
track hit: |
21ms |
get online users: |
3ms |
others: | 239ms |
total: | 327ms |
0 / 0 |