如何根据列长拆分字符串并插入表中

时间:2020-07-13 21:30:37

标签: sql sql-server tsql

我有一个字符串,需要从中拆分并创建表。

00001                 00000009716496000000000331001700000115200000000000     

我知道每一列的确切长度:

Col1  = 5 
Col2 = 7
Col3 = 23
etc...            

我需要类似的东西(空值为NULL

enter image description here

您能指导我正确的做法吗?

2 个答案:

答案 0 :(得分:2)

使用substring()

select substring(col, 1, 5) as col1,
       substring(col, 6, 2) as col2,
       . . . 

答案 1 :(得分:0)

  1. 您可以使用计算列来提高性能(访问https://www.sqlservertutorial.net/sql-server-basics/sql-server-computed-columns/

  2. 使用以下功能填充您的专栏

    SUBSTRING(string, start, length)