在 Oracle SQL 中使用字符串连接开发人员未以所需格式输出
Using string concatenation in Oracle SQL Developer not outputting in desired format
我有一个 CUSTOMER table,必须将用逗号和 space ', ' 分隔的 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;
两部分代码产生相同的输出,其中每列由很多白色分隔 space 而不是只有 space.
您只需要 trim 连接前的值。
你有这个问题的原因很简单 - db 存储固定长度的值,所以当你 select 它时 - 它用空值填充未使用的部分 - 白色 space
似乎你的数据类型只是 char 而不是 var 或很多 space 已被保存,最好是将你的数据类型更改为 var,否则你可以 trim 它们 :
SELECT TRIM(FirstName) ||', '|| TRIM(LastName) "CustomerName"
FROM Customer;
我有一个 CUSTOMER table,必须将用逗号和 space ', ' 分隔的 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;
两部分代码产生相同的输出,其中每列由很多白色分隔 space 而不是只有 space.
您只需要 trim 连接前的值。 你有这个问题的原因很简单 - db 存储固定长度的值,所以当你 select 它时 - 它用空值填充未使用的部分 - 白色 space
似乎你的数据类型只是 char 而不是 var 或很多 space 已被保存,最好是将你的数据类型更改为 var,否则你可以 trim 它们 :
SELECT TRIM(FirstName) ||', '|| TRIM(LastName) "CustomerName"
FROM Customer;