【问题标题】:Pixel issue of characters in concatenation. Cols should be fixed as per the width for all the cols concatenated连接中字符的像素问题。 Cols 应根据所有连接的 cols 的宽度固定
【发布时间】:2022-01-15 05:28:03
【问题描述】:

这些值存储为 1 列的一部分。它们实际上是通过 sql oracle 连接的 3 个 cols。如何使这些值看起来对齐为 3 个不同的列?

目前,这些数字将是 1 列的 3 个字符,第二列的 10 个字符和第三列的 7 个字符。出于某种原因,我不得不将它们放在 1 列中以在我的 rtf 模板中使用。我需要 SQL Oracle 中的解决方案来设置连接列的宽度。我在这里使用演员,但这是我得到的输出

CAST(TO_CHAR(G_WEIGHTAGE)||'%' as char(3))||'  '
||CAST(TO_CHAR(G_ACHIEVE , '990.00')||'%' as char(13)) ||'  '
||CAST( TO_CHAR(ROUND((G_ACHIEVE_FACTOR*(G_WEIGHTAGE/100)),2)*(TARGET_BONUS/100), '990.00')||'%' as char(8)) AS G_WAIT  

这是此输出中的第一行。我也以同样的方式写过其他行。

它是这样来的

 40% 96.79% 9.60%
 10% 99.89% 2.70%
20% NA/ 51.42% 0.00%
 10% 62.90% 0.00%
10% 112.77% 4.80%

我需要的输出:

 40%     96.79%     9.60%
 10%     99.89%     2.70%
 20%  NA/51.42%     0.00%
 10%     62.90%     0.00%
 10%    112.77%     4.80%

我相信这是由于不同的字符具有不同的宽度。就像 N 与 1 相比具有不同的宽度。

【问题讨论】:

  • 请输入您的数据formatted text
  • 请编辑您的问题并添加您的 SQL。文字也比图片好。我想你可能只想要RPAD(),也许是SUBSTR()。但是一个明确的问题会给你一个明确的答案。
  • 通常您会使用 lpad/rpad,但转换为 char 也应该可以工作(它应该等同于 rpad)。您能否发布一个完整的测试用例,以便我查看哪个步骤未按预期工作?
  • 我什么都试过了,但似乎是由于 Sach 字符的长度,比如 N 大,1 小,1 个空格 charcuterie 是如果不同的长度。这是像素长度,因此它看起来是倾斜的。如果我使用 0 而不是空格,那就没问题了。
  • 我认为您的意思不是“Pixel”(或“charcuterie”)。您是在谈论与可变宽度字体对齐吗?

标签: sql oracle rtf


【解决方案1】:

是的,你想要一个PAD 函数。他们添加空格以使字符串具有特定宽度。试试这个:

lpad(TO_CHAR(G_WEIGHTAGE)||'%',3) ||'  '
||lpad(TO_CHAR(G_ACHIEVE , '990.00')||'%',13) ||'  '
||lpad(TO_CHAR(ROUND((G_ACHIEVE_FACTOR*(G_WEIGHTAGE/100)),9)*(TARGET_BONUS/100), '990.00')||'%',7) AS G_WAIT 

【讨论】:

  • 嘿我已经应用了 lpad 但问题是这是添加空格但仍然没有使值右对齐。实际上它是对齐的,但是第二个 col 数据的长度使第一个 col 数据向左移动一点,就像在第 3 行和第 5 行一样,因为这里第二个 col 数据的长度不同。
  • @AlkaOjha 您可能需要更多填充 - 我将编辑我的答案以增加值
  • 不,我什么都试过了,但似乎是由于 Sach 字符的长度,比如 N 大,1 小,如果长度不同,则 1 个空格 charcuterie。这是像素长度,因此它看起来是倾斜的。如果我使用 0 而不是空格,那就没问题了。
  • 涉及的不仅仅是 SQL。虽然 SQL 可以调整结果列中的字符数,但它不能调整字符宽度差异。你用什么工具显示结果。也许将 FONT 更改为固定或等距字体。
  • 嘿...我正在使用 rtf 模板在此处显示我的输出... RTF 是在带有标签的 word 文档上创建的以生成输出...我在 bi 发布者工具中使用 SQL调用 rtf 模板并按照 rtf 布局打印输出。请帮助哪里 sql 或 rtf 如何制作固定或等距字体...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 1970-01-01
相关资源
最近更新 更多