在Oracle SQL Developer中使用字符串连接没有以期望的格式输出



我有一个CUSTOMER表,必须将FirstName和LastName列(用逗号和空格' '分隔)连接到一个名为CustomerName的新列中。

期望的输出类似于:

CustomerName
----------------------
FirstName1, LastName1
FirstName2, LastName2
FirstName3, LastName3

但是我的实际输出是:

CustomerName
----------------------------------------
FirstName1                    , LastName1
FirstName2                    , LastName2
FirstName3                    , LastName3

我已经尝试嵌套CONCAT函数:

SELECT CONCAT(CONCAT(FirstName, ', '),LastName) "CustomerName"
FROM CUSTOMER;

我也试过使用双管道连接操作符(||):

SELECT FirstName ||', '|| LastName "CustomerName"
FROM Customer;

这两段代码的输出结果是相同的,每列之间用很多空格分隔,而不是只有一个空格。

似乎你的数据类型只是char而不是var或节省了大量空间,最好是将数据类型更改为var,如果不是,你可以修改它们:

SELECT TRIM(FirstName) ||', '|| TRIM(LastName)  "CustomerName"
FROM Customer;

您只需要在连接之前修剪值。你有这个问题的原因很简单-数据库存储固定长度的值,所以当你选择它-它填充未使用的部分与空值-空白

最新更新