Мне нужно обрезать данные из столбца до 10 символов. Однако у меня не может быть дубликатов, поэтому я хочу, чтобы любые дубликаты заканчивались на ~ 1 для первого дубликата, ~ 2 для второго дубликата. Вот пример того, что у меня есть:T-SQL Усечь текст и добавить номер в конце, чтобы избежать дублирования
Column
------
The ABC Company Inc.
The ABC Cooperative
XYZ Associates LLC.
Я хотел бы результат быть:
Column
------
The ABC ~1
The ABC ~2
XYZ Associ
Конец не должен быть ~ 1 или ~ 2, мне просто нужно что-то сделать его уникальным после усечения. После усечения может быть больше 3 или 4 дубликатов.
До сих пор, я просто усечения и редактирования таблицы вручную:
update Table set Column = Left(Column, 10) where len(Column) > 10
Если вы усечение "АЗБУКА Company Inc." и «ABC Cooperative» до 10 символов, вы останетесь с «The ABC Co» для обоих, что приведет к дублированию. – Peter
ABC ~ 1 IS 10 символов – AntDC
Что делать, если есть 10 или более дубликатов? – datagod