简体   繁体   English

SQL Server:如何解析列值并插入单独表的多列?

[英]SQL Server : how to parse a column value and insert in multiple columns of separate table?

I have a table CUSTOMER(ID,ADDRESS) with following values 我有一个表CUSTOMER(ID,ADDRESS)具有以下值

1,ROCKVILLE MDUS 
2,JERSEY CITY NJUS
3,NEW YORK CITY NYUS
.
.
.

I want to load the above values in separate table STG_TXN(CITY,STATE,COUNTRY) . 我想在单独的表STG_TXN(CITY,STATE,COUNTRY)加载上述值。 Last two chars in COUNTRY , the second last two chars in STATE and everything before that in CITY . COUNTRY的最后两个字符,在STATE的第二个最后两个字符以及在CITY之前的所有内容。

ROCKVILLE,MD,US
JERSEY CITY,NJ,US
NEW YORK CITY,NY,US
.
.
.

 INSERT INTO STG_TXN
    SELECT (how can I parse the value to be selected as CITY, STATE and COUNTRY here ? ) 
    FROM dbo.CUSTOMER

This should work: 这应该工作:

INSERT INTO STG_TXN
select 
    LEFT(@teststr,LEN(@teststr)-4) city, 
    LEFT(RIGHT(@teststr,4),2) state, 
    RIGHT(@teststr,2) country 
from customer

Try this: 尝试这个:

INSERT INTO STG_TXN
select SUBSTRING(address,0,LEN(address) - 4),SUBSTRING(address,LEN(address) - 3,2)
,SUBSTRING(address,LEN(address) - 1,2)
from CUSTOMER

However, this only works if the the length of state or country is 2 但是,这只适用于州或国家的长度为2的情况

another option: 另外一个选项:

INSERT INTO STG_TXN
select 
substring(address,1, len(address)-4),
reverse(substring(reverse(address),3,2)),
reverse(substring(reverse(address),1,2))
from customer

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将SQL Server表中的1列分成2列 - Separate 1 column into 2 columns in SQL Server table 在SQL中将单列值分离为多列 - Separate Single column Value into multiple columns in SQL 将SQL列解析为单独的列 - Parse SQL Column into separate columns 如何在单个列下插入多个列值并分隔列名? - How to insert multiple columns value under a single column and separate the column name? 插入多个拆分的字符串列以将行分隔到sql表中 - insert multiple splited string column to separate rows into a sql table 如何在SQL Server中同时插入从另一个具有单独值的表中选择的值 - How to insert value which is selected from another table with separate value at same time in SQL Server 如何使用 SQL 查询从表中检索值计数作为列名作为值名的单独列 - How to retrieve value counts from table as separate columns with column name as value name using SQL query 从列中解析值并插入到T-Sql中的新表中 - Parse value from column and insert into new table in T-Sql 如何从具有多行的SQL Server表中将值(分隔符分隔)为不同的列? - How to separate values (delimiter separated) as different columns from SQL Server table having multiple rows? 更新列以在SQL Server表的列之一中插入空格 - Update column to insert spaces in one of the columns in sql server table
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM