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