首页 > 解决方案 > 拆分字符串并将值复制到另一列

问题描述

我有一varchar列的值如1.23DOLLARS + 3.21EUROS.

如何拆分数字并将货币字符串复制到另一列?

在此处输入图像描述

标签: sqlsql-servertsql

解决方案


您可以使用string_split()拆分两边+,然后使用substring()patindex()您可以将数字和字符串部分分开。

DB-小提琴:

模式和插入语句:

 create table testtables (currencyvalue varchar(100));
 insert into testtables values('1.23DOLLARS + 3.21EUROS');
 

询问:

 select substring(trim(value),1,PATINDEX('%[A-Za-z]%',trim(value))-1) price, 
 substring(trim(value),PATINDEX('%[A-Za-z]%',trim(value)),len(trim(value))) curr
 from
 testtables
 cross apply
 string_split( '1.23DOLLARS + 3.21EUROS','+') cs
 
 
 

输出:

价格 当前
1.23 美元
3.21 欧元

db<>在这里摆弄


推荐阅读