sql-server - SSIS - 当字符前面有字母字符时删除字符
问题描述
假设我有从 SSIS 中的 csv 导入的数据,如下所示:
ID,Name,Year,Place
1,"John",1994,"UK"
2,"Bill",1899,"USA"
3,"Gill",1989,"Germ"any"
在这种情况下,有一个错字Germany
我想知道是否有办法(可能在派生列组件中)删除"
当文本像_"_
_ 是字母字符或空格。
这个问题接近我所需要的:SSIS - 删除字符 X 除非它后面跟着字符 Y,但它是在 SQL 中完成的,而我的数据是来自 csv 的 SSIS。
解决方案
You can do like
CREATE TABLE T
([ID] int, [Name] varchar(45), [Year] int, [Place] varchar(45));
INSERT INTO T
([ID], [Name], [Year], [Place])
VALUES
(1, '"John"', 1994, '"UK"'),
(2, '"Bill"', 1899, '"USA"'),
(3, '"Gill"', 1989, '"Germ"an"y"');
SELECT ID,
Name,
[Year],
CONCAT('"', REPLACE(Place, '"', ''), '"') Place
FROM T;
Returns:
+----+--------+------+-----------+
| ID | Name | Year | Place |
+----+--------+------+-----------+
| 1 | "John" | 1994 | "UK" |
| 2 | "Bill" | 1899 | "USA" |
| 3 | "Gill" | 1989 | "Germany" |
+----+--------+------+-----------+
推荐阅读
- javascript - Chrome 扩展:在 URL 字符串匹配时取消隐藏弹出文本
- algorithm - 需要安排事件的顺序
- javascript - SAP Cloud SDK JavaScript:具有位置 ID 的 onPremise 目的地没有 CSRF 令牌
- r - 光栅中的反应式表达
- angular - 如何在 NativeScript 中对表单进行单元测试?
- laravel - 如何在循环中包含连接数据
- php - 将数据从表单发送到一页并转到另一页
- php - 在 Laravel 中存储从 OAuth 接收到的数组
- c# - 调用 HttpClient 并从分页请求中获得相同的结果 - 是我还是服务?
- python - 从 3D numpy.MaskedArray 中删除切片