我有一个包含这样的数据的平面文件(请注意,每个行=一行,并且都在1字段中,这就是为什么我使用子字符串将其分离出来,并使用格式更好的数据制作新表的原因):
011000015O0110000150122415000000000FEDERAL RESERVE BANK 1000 PEACHTREE ST N.E. ATLANTA GA303094470877372245711
011000028O0110000151072811000000000STATE STREET BANK AND TRUST COMPANY JAB2NW N. QUINCY MA021710000617664240011
011000138O0110000151101310000000000BANK OF AMERICA, N.A. 8001 VILLA PARK DRIVE HENRICO VA232280000800446013511
我正在尝试将其分开;但是,我不知道如何在SUBSTRING函数中找到第一个非整数数字。我正在分析这些数据。到目前为止,我已经分离了我需要的该数字序列的前2个部分;但是,我很难找到一种区分银行名称(FEDERAL RESEVE BANK)开头的好方法。名称开始之前似乎是35个整数,但是,如何找到名称的长度?
我真的只需要帮助,直到银行名称,即“联邦储备银行”。之后,我希望可以解决其余的问题。
SELECT
SUBSTRING(FIELD1, 0,10) ROUTING_NUMBER,
SUBSTRING(FIELD1,11,9) FEDRESERVE_NUM,
SUBSTRING(FIELD1,
FROM srcFlatFile.dbo.fedachdir2018
这就是我需要的(“ O”不需要它自己的列,并且现在不需要'000000000'和'122203950':]
011000015 O 011000015 0122415 000000000 FEDERAL RESERVE BANK 1000 PEACHTREE ST N.E. ATLANTA GA 30309-4470 8773722457 11
011000028 O 011000015 1072811 000000000 STATE STREET BANK AND TRUST COMPANY JAB2NW N. QUINCY MA 02171-0000 6176642400 11
011000138 O 011000015 1101310 000000000 BANK OF AMERICA, N.A. 8001 VILLA PARK DRIVE HENRICO VA 23228-0000 8004460135 11
您拥有的是固定宽度文件导出。谁向您提供文件,谁都应该给您一个导入说明,但听起来好像他们没有为您这样做。但是,这不是“所有领域”。只是字段设置了长度,如果有的话,规范会告诉您将其分解的位置。