如何对齐列右调整

Posted

技术标签:

【中文标题】如何对齐列右调整【英文标题】:How to align a column right-adjusted 【发布时间】:2014-07-02 07:40:29 【问题描述】:

我想对齐表格中的一列。在本例中为“标题”

mysql> SELECT Titel, KuenstlerName from Bild;
+--------------------------+---------------+
| Title                    |         Artist|
+--------------------------+---------------+
| Drei Musikanten          | Picasso       |
| Buveuse assoupie         | Picasso       |
| Die Flöte des Pan        | Picasso       |
| Paolo als Harlekin       | Picasso       |
| Die Umarmung             | Picasso       |
| Sitzende Frau            | Picasso       |
| Sternennacht             | van Gogh      |
| Der Park                 | Klingt        |
| Liegender Hund im Schnee | Marc          |
| Hauptweg und Nebenwege   | Klee          |
| Jungfrau im Baum         | Klee          |
| Das gelbe Haus           | Klee          |
+--------------------------+---------------+

是否可以将左列向右对齐,如下所示:

+--------------------------+---------------+
| Title                    | Artist        |
+--------------------------+---------------+
|           Drei Musikanten| Picasso       |
|          Buveuse assoupie| Picasso       |
|         Die Flöte des Pan| Picasso       |
+--------------------------+---------------+

感谢您的帮助!

【问题讨论】:

sql 是一个数据库。它处理数据,而不是处理数据的显示。是的,您可以如下所示填充您的字符串,但这会更改数据(添加空格)而不是显示。它也只适用于固定字体的场景。 【参考方案1】:

如果您的Title 长度为 150,则像这样查询

 SELECT LPAD(Titel,150,' ') as Titel , KuenstlerName from Bild;

检查Manual 以获得LPAD 功能。

【讨论】:

别担心,您接受对其他用户更重要,以供将来参考。【参考方案2】:

如果Titel 是 100 个字符,则执行此操作

SELECT
    LPAD(Titel, 100, ' '),
    ...

SELECT
    RIGHT(CONCAT(REPEAT(' ', 100), Titel), 100),
    ...

【讨论】:

第二个选项适用于 iSeries DB2 上的 SQL。我需要的不是正确调整字段,而是输入变量进入查询。工作得很好。允许优化器使用正确的索引。【参考方案3】:

我这样解决了这个任务:

SELECT LPAD(Titel,(SELECT MAX(LENGTH(Titel)) FROM Bild),' ') AS Titel, CONCAT(Kuenstler.Vorname,' ',Kuenstler.Name) AS Kuenstler 
FROM Kuenstler 
INNER JOIN Bild ON Bild.Kuenstler = Kuenstler.KID;

【讨论】:

以上是关于如何对齐列右调整的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 SQL 脚本以使具有金额的列右对齐

C# datagridview 最后一列右对齐

word2010插入公式以后无法调整公式左对齐、居中、右对齐等等,如何解决?

即使调整窗口大小,如何确保元素正确对齐?

如何自动调整大小和WPF右对齐GridViewColumn数据

如何在 WPF 中自动调整和右对齐 GridViewColumn 数据?