具有查询 DB2 数据库并将输出导出到文件的 shell 脚本。当我在没有导出的情况下使用 SQL 语句时,我得到以下信息:
su - myid -c 'db2 connect to mydb;db2 -v "select COL1"; db2 connect reset;'
样本输出
COL 1
x'20A0E2450080000'
x'50D24520E100GDS00'
x'10H0EFJ10080000'
x'50A0GH0080000'
x'80RHE1008B0000'
x'70A50E1F4008000'
x'10F329EF09BB0'
但是,当我使用完全相同的查询导出结果时,我得到以下信息:
su - myid -c 'db2 connect to mydb;db2 -v "EXPORT TO '/tmp/query_results.out' OF DEL MODIFIED BY COLDEL: select COL1 from MYTABLE"; db2 connect reset;'
样本输出
hôª"
"xàÓ °á
"èÅ °á
hôª"
"é# °á
hôª"
"é« °á
hôª"
"éÅ °á
hôª"
"""ÒYá á
hôª"
"#sYá á
hôª"
我假设这是由于单引号字符。由于它们前面都有另一个字符,因此我无法在它们前面添加“\”。我也尝试在查询中运行 substr 函数,但我仍然得到相同的结果,只是更短。我确信一定有什么我忽略了,所以在我自己尝试了几天(并且失败了)之后,我转向你们。任何帮助将不胜感激。
*编辑:只是想补充一点,我的实际选择语句包括多个正确显示的列。因此,在几列中,只有一列显示错误数据。