Sumit_Kumar_Sinha Ответов: 2

Как мы можем генерировать буквенно-цифровой идентификатор


Как мы можем сгенерировать буквенно-цифровой идентификатор клиента в sql server. Например, SC-12-10-26-0001, здесь SC-это исправление для каждого клиента, 12-это showinng текущего года, 10-текущий месяц, 26-текущая дата и 0001-первый cutomer текущей даты. Я хочу сгенерировать идентификатор в соответствии с этим. Если приближается Новый год, месяц или дата, то это изменение связано с этим. Пожалуйста, объясните мне, как мы можем это решить.......

2 Ответов

Рейтинг:
2

Storxstar

что-то в этом роде. вот ссылка а также

CREATE
 TABLE
 YourTable (
  ID    AS  'SC'
 + convert(varchar, getdate(), 101)
 + RIGHT('0000' + convert(varchar,ID),6))


вот ссылка а также

http://social.msdn.microsoft.com/Forums/en/transactsql/thread/1e3ada09-492b-46a2-9f65-c0f3990e2343[^]


Sumit_Kumar_Sinha

мое требование-это что-то другое.... вторая последняя в идентификаторе показывает текущую дату, а последняя-идентификатор клиента этой даты.... для следующей даты вторая последняя дата-это изменение, а последняя снова начинается с 0001

Рейтинг:
1

VIPR@T

Привет,

Смотрите следующий запрос, который может вам помочь.

Declare @LastDigit NVARCHAR(5)
Select @LastDigit = ISNULL(Substring(CustomerID,13,len(CustomerID)),0) from dbo.Table_9
Set @LastDigit = MAX(Convert(Bigint,ISNULL(@LastDigit,0))) + 1
Set @LastDigit = RIGHT('000' + convert(varchar,@LastDigit),4)
Declare @CustomerID Nvarchar(50)
Set @CustomerID = 'SC-' +  substring(convert(varchar,Datepart(yy,GETDATE())),3,4)
+ '-' +  convert(varchar,Datepart(mm,GETDATE())) + '-' +
convert(varchar,Datepart(dd,GETDATE()))
+ '-' + @LastDigit
print(@CustomerID)


Спасибо,
Випрат