у меня есть столбец со значением ProductId - 102
, но когда я хочу показать это как ProductId - 1 DeviceId - 02
показать 2 значения из одного значения
как я буду показывать?
как будет выглядеть запрос?
благодарит заранее.
у меня есть столбец со значением ProductId - 102
, но когда я хочу показать это как ProductId - 1 DeviceId - 02
показать 2 значения из одного значения
как я буду показывать?
как будет выглядеть запрос?
благодарит заранее.
Это предположить идентификатор устройства является крайней правой 2 цифрой
VARCHAR колонка. Если символ, приведение к VARCHAR и LTRIM
SELECT
REVERSE(SUBSTRING(REVERSE(MyCol), 3, 8000) AS ProductID,
RIGHT(MyCol, 2) AS DeviceID
целочисленный столбец
SELECT
MyCol/100 AS ProductID, --integer arithmetic
MyCol % 100 AS DeviceID -- modulo
Спасибо, очень много gbn –
следующие должно помочь вам
выберите 'ProductID - 102', 'PRODUCTID -' + левый (правый ('PRODUCTID - 102 ', 3), 1),' DeviceId - '+ right (' ProductId - 102 ', 2)
Вы обнаружите, что с SQL существует множество способов достижения той же цели. С точки зрения лучшего кодирования вы действительно должны иметь ProductID и DeviceID в 2 столбцах, а затем, если вам когда-либо придется отображать их как единое целое, вы можете их комбинировать. Таким образом, в поиске вы можете быстро найти DeviceID 47 без необходимости разбирать всю базу данных.
Давайте предположим, что у вас есть таблица под названием ПРОДУКТЫ и ProductID имеет значение '1' и DeviceID был '02'
Все, что вам нужно сделать, это
ВЫБРАТЬ ProductID + DeviceID в CombinedID
и он вернется: ProductID - 102
Если у вас есть действующий бизнес причина сделать это так, как вы хотите:
Давайте предположим, что у вас есть таблица под названием ПРОДУКТЫ и ProductID имеет значение «ProductID - 102»
Если вы хотите в полной мере использовать PRODUCTID
ВЫБЕРИТЕ ProductID из продуктов
Если вы хотите, чтобы отделить из Продукт с Device ID
Ваш запрос будет ВЫБРАТЬ LEFT (ProductID, длина (ProductID) -2) + 'Device ID -' + RIGHT (ProductID, 2) от продуктов
Это даст вам идентификатор ProductID и DeviceID ... надеюсь, что поможет
Является ли ProductId столбцом int или varchar или char? –
Как правило, устройство всегда 2 цифры? Можете ли вы иметь 97605, где ProductId = 976 и DeviceId = 05 – gbn
Почему вы храните две разные части информации в одном столбце? Если вы когда-либо захотите выполнить поиск по deviceid, вам придется сканировать всю таблицу. –