SQL rtrim正在删除第一个标头值

时间:2015-10-13 15:56:53

标签: sql csv select

我正在尝试使用查询结果获得格式正确的.csv。我是SQL的新手,到目前为止,这令人沮丧。原始查询正确输出标题,但不会删除LOOKUP列中的额外空格,这会导致问题。

此查询:

select TB_SKU_LOOKUPS.LOOKUP, TB_SKU_BUCKETS.QOH
from TB_SKU_BUCKETS
inner join TB_SKU_LOOKUPS
on TB_SKU_BUCKETS.SKU_ID=TB_SKU_LOOKUPS.SKU_ID
where TB_SKU_BUCKETS.STORE_ID = '1' 
and TB_SKU_BUCKETS.QOH > '0' 
and TB_SKU_LOOKUPS.LOOKUP not like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-    9]';

输出:

LOOKUP,QOH
730366010008             ,2
185843000285             ,3
185843000278             ,2
810191011729             ,6

当我添加rtrim()时,数据是正确的,但LOOKUP被删除。

select rtrim(TB_SKU_LOOKUPS.LOOKUP), TB_SKU_BUCKETS.QOH
from TB_SKU_BUCKETS
inner join TB_SKU_LOOKUPS
on TB_SKU_BUCKETS.SKU_ID=TB_SKU_LOOKUPS.SKU_ID
where TB_SKU_BUCKETS.STORE_ID = '1' 
and TB_SKU_BUCKETS.QOH > '0' 
and TB_SKU_LOOKUPS.LOOKUP not like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]';

产生:

,QOH
730366010008,2
185843000285,3
185843000278,2

要清楚,我正在寻找看起来像这样的结果:

LOOKUP,QOH
730366010008,2
185843000285,3
185843000278,2

希望这很简单。提前谢谢。

2 个答案:

答案 0 :(得分:1)

向列名称添加函数将根据您的DBMS提供不同的结果,但在这种情况下,它只返回null作为columnName。请尝试使用rtrim(TB_SKU_LOOKUPS.LOOKUP) AS LOOKUP

另外,对于它的价值,您应该尝试将DBMS(sql server,oracle,mysql等)作为标记包含在您的问题中。

答案 1 :(得分:0)

我相信你需要给你的字段提供别名。

e.g。

select rtrim(TB_SKU_LOOKUPS.LOOKUP) as Lookup