unix - Sybase 查询:如何对提取进行排序(按格式正确的列)
问题描述
我在脚本中构建了一个Sybase 查询语句(使用 isql 命令/行),代码如下:
我的脚本包含:
isql -U databasename_dba -P password <<EOF!
select customerid, notional, counterparty2 from table_1 inner join table_2
on id = id2
go
quit
EOF!
我得到这个:
我想要的输出是:
认为仅提取数据(不包括标题)可能会修复输出。我在我的代码中添加-b
isql -U databasename_dba -P password -b <<EOF!
提前致谢
解决方案
首先你可以传入 -w 参数来给出行的宽度,这样你就不会让它跨行重叠(例如 -w2000)
isql 工具将根据实际表列的宽度返回列宽,因此,例如,如果您将其定义为数字 18 但仅使用 12 位数字,您仍将在输出中获得 18 个字符。您可以使用 artrim(customerid)
取决于数据类型,也可以使用convert(varchar(12), customerid)
. 我怀疑有人可能将其定义为 50 个字符或更多。您可以根据需要对每列重复此操作。
您也可以考虑使用 sp_autoformat 看看这是否有帮助 - http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36273.1570/html/sprocs/BABHCBIG.htm
推荐阅读
- python - Braintree Django 异常“只能将 str(不是“元组”)连接到 str”
- reactjs - React Hook clean/show Errors message while typing
- c# - 使用 SignalR 在 blazor 服务器中实现全局通知系统
- r - 从 acf 输出列表中提取特定元素
- python - Python中的@运算符是什么?
- javascript - 页面加载时如何触发javascript事件
- python - 程序如何以低电平输出声音?
- database - Terraform 布尔变量 true - 基于映射值
- python-3.x - (Django) 会话中设置的值在我第二次通过同一视图呈现请求后消失
- laravel - Laravel Sactum 和 Fortify - 如何同时使用它们?