Вставить уникальную последовательность буквенных чисел c значение поля в DB2 - PullRequest
0 голосов
/ 07 мая 2020

Возможно ли сгенерировать уникальное 2-символьное значение и вставить в таблицу. Номер будет начинаться с

  1. 0-99
  2. букв AZ
  3. букв AA - ZZ
  4. , возможно, от A0-A9 до Z0-Z9.

Понятия не имею, как это сделать, но нам нужен уникальный двухзначный идентификатор в этом поле. Какие-либо предложения?

Ответы [ 3 ]

0 голосов
/ 08 мая 2020

В итоге мы сгенерировали значения в Excel и загрузили их в таблицу. Таблицу построил не я, поэтому, к сожалению, у меня нет формулы, которая использовалась.

0 голосов
/ 08 мая 2020

Попробуйте следующее:

WITH 
  N (I) AS (VALUES -9 UNION ALL SELECT I+1 FROM N WHERE I<26)
, S (C) AS (SELECT CASE WHEN I<1 THEN CAST(-I AS CHAR) ELSE CHR(64+I) END FROM N)
SELECT A.C || B.C FROM S A, S B;
0 голосов
/ 07 мая 2020

Один вариант - не полностью закодирован, но я думаю, достаточно, чтобы понять идею - вы можете расширить его, если вам нужна сортировка любого вида

WITH temp (c1) AS (
VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),(' '), ('A'), ('B'), ('C'), ('D'),('E'), ('F')

)
SELECT t2.c1 || t1.c1 FROM temp t1, temp t2

Возможно, вы захотите пересмотреть бизнес-требования, потому что На мой взгляд, это очень искусственный подход, поскольку уникальные ценности ограничены

...