如何对齐右列调整的列

时间:2014-07-02 07:40:30

标签: mysql sql select format tabular

我想在表格中对齐一列。在这种情况下'标题'

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       |
+--------------------------+---------------+

感谢您的帮助!

3 个答案:

答案 0 :(得分:8)

如果您的Title长度为150,那么请像这样查询

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

检查Manual LPAD功能。

答案 1 :(得分:4)

如果Titel为100个字符,请执行此操作

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

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

答案 2 :(得分:1)

我解决了这样的任务:

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;