我有2条数据
Column1
DY04837293530000LFOY
DY9586074510000LOY
我正在寻找这个结果
Column1 Column2
DY04837293 530000
DY95860745 10000
我需要取前10个字符并将它们放在第一列中,然后删除末尾的字符,只需将中间的剩余数字添加到第2列。
任何人都可以就最佳方法向我提出任何建议吗?感谢
答案 0 :(得分:3)
DECLARE @test VARCHAR(255) = 'DY04837293530000LFOY'
SELECT @test ori
, SUBSTRING(@test, 1, 10) first_10
, SUBSTRING(@test, 11, PATINDEX('%[^0-9]%', SUBSTRING(@test, 11, LEN(@test))) - 1) last_numbers
结果:
+----------------------+------------+--------------+
| ori | first_10 | last_numbers |
+----------------------+------------+--------------+
| DY04837293530000LFOY | DY04837293 | 530000 |
+----------------------+------------+--------------+