如何在SQL Server中分离触发器上的字符串
我有一个问题,如果我有这样的数据:如何在SQL Server中分离触发器上的字符串,sql,sql-server,triggers,Sql,Sql Server,Triggers,我有一个问题,如果我有这样的数据: 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 1. 2 2. 16 3. 401 4. 10272 我想像这样分开第一个int: 1. 2|7000|00
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
1. 2
2. 16
3. 401
4. 10272
我想像这样分开第一个int:
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
1. 2
2. 16
3. 401
4. 10272
我已经在使用一个
子字符串,但问题是,第一个int中的位数不是固定的,所以我不能使用它,所以我想问一下,在我插入数据库(在触发器中分隔)之前,如何将第一个符号与|
分开您可以使用charindex()
:
您可以使用charindex()
:
戈登的答案(+1)可能就是解决这个问题的方法。但如果您使用的是SQL Server 2016或更高版本,则还有另一个选项:
SELECT
(SELECT TOP 1 value FROM STRING_SPLIT(col, '|')) AS first_part
FROM yourTable;
戈登的答案(+1)可能就是解决这个问题的方法。但如果您使用的是SQL Server 2016或更高版本,则还有另一个选项:
SELECT
(SELECT TOP 1 value FROM STRING_SPLIT(col, '|')) AS first_part
FROM yourTable;
可能重复的可能重复的