shell - 如何在以 | 分隔的列中插入以双引号开头的文本 在 db2 的导入命令中
问题描述
表包含 3 列 ID -integer Name-varchar Description-varchar
具有 .FILE 扩展名的文件具有分隔符为 | 的数据 例如:12|Ramu|“Ramu”是建筑师
我用来将数据加载到 db2 的命令:db2 "Load CLIENT FROM ABC.FILE of DEL MODIFIED BY coldel0x7x keepblanks REPLACE INTO tablename(ID,Name,Description) nonrecoverable"
数据加载如下: 12 Ramu Ramu
但我希望它为:12 Ramu“Ramu”是一名建筑师
解决方案
看看如何定义分隔 ASCII 文件的格式。双引号 ( "
) 是字符数据的可选分隔符。你需要逃避它。我没有测试过它,但我假设你像在 SQL 中那样加倍引号:
|12|Ramu|"""Ramu"" is an architect"
分隔文件 (CSV) 在RFC 4180中定义。您需要为整个字段使用引号或根本不使用引号。只有在以引号开头和结尾的字段中,才能使用其他引号。如图所示,它们需要被转义。
推荐阅读
- c++ - glClearColor 被忽略
- php - 使用 Laravel 在目录中查找最小文件大小?
- java - 多对多关系springboot mysql
- r - 如何计算不同区域大小的斜率
- javascript - 新创建的快速路线在网站上返回 CANNOT GET /。在本地主机上工作正常
- c# - 单击 CheckedListBox 中的项目对最后单击的项目有影响
- php - 如何正确使用 WC_Order 类?
- eloquent - Eloquent:如何从集合中获取与指定集合中所有项目相关的值?
- php - laravel如何四舍五入到小数点
- webpack - @Types 没有使用正确的模块(Typescript、http-proxy-middleware、webpack、react)