Как отделить строку по триггеру в SQL Server - PullRequest
0 голосов
/ 10 октября 2018

У меня проблема, если у меня есть такие данные:

1. 2|7000|0001|Werk 0001 Standort 0001|0
2. 16|701A|0101109|KANTOR-R. DAPUR LT.1|0
3. 401|701H|03PLNT2|PABRIK-GEDUNG PLANT LT.2|0 
4. 10272|B100|0109000|AUNG THEIK DI|161794|0

, и я хочу отделить первый int следующим образом:

1. 2
2. 16
3. 401
4. 10272

Я уже использую substring, но проблема в том, что число цифр в первом int не фиксировано, поэтому я не могу его использовать, поэтому я хочу спросить, как отделить использование этого первого символа от |, прежде чем вставлять в базу данных (отдельный в триггере)

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Ответ Гордона (+1), вероятно, путь сюда.Но есть и другой вариант использования STRING_SPLIT, если вы используете SQL Server 2016 или более позднюю версию:

SELECT
    (SELECT TOP 1 value FROM STRING_SPLIT(col, '|')) AS first_part
FROM yourTable;

enter image description here

Демо

0 голосов
/ 10 октября 2018

Вы можете использовать charindex():

select convert(int, left(col, charindex('|', col) - 1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...