Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql SELECT查询中返回的空格过多的格式问题_Sql_Oracle_Toad - Fatal编程技术网

Sql SELECT查询中返回的空格过多的格式问题

Sql SELECT查询中返回的空格过多的格式问题,sql,oracle,toad,Sql,Oracle,Toad,前几天我问了一个关于添加一个新列的问题,该列返回两天后的日期。我现在得到了我需要的结果,但是原始日期和日期加2这两个日期之间的间隔返回了109个字符,而且我一辈子都不知道如何在只有几个空格的情况下返回它 原始SELECT语句的格式很好,但是在lastupdate+2之后,我相信问题就出在这里 我已尝试在e.lastupdate和e.lastupdate+2之间放置相同的| |“”|格式,但发生这种情况时查询无法运行。它返回一个无效的数字错误 select p.id||' '||p.last

前几天我问了一个关于添加一个新列的问题,该列返回两天后的日期。我现在得到了我需要的结果,但是原始日期和日期加2这两个日期之间的间隔返回了109个字符,而且我一辈子都不知道如何在只有几个空格的情况下返回它

原始SELECT语句的格式很好,但是在lastupdate+2之后,我相信问题就出在这里

我已尝试在e.lastupdate和e.lastupdate+2之间放置相同的| |“”|格式,但发生这种情况时查询无法运行。它返回一个无效的数字错误

select p.id||'    '||p.lastname||'    '||p.firstname||'    '|| e.lastupdate, e.lastupdate + 2
from table p, othertable e

where p.id = e.id 
and hold = 8 
and id in (
select id from othertable 
where buildinginfo is null
) 
order by id;
StackOverflow的实际结果显示不正确,但2018年9月5日至2018年9月7日之间有109个空格:

000000000    Scott    Michael    05-SEP-18                                                                                                         07-SEP-18
预期成果:

000000000    Scott    Michael    05-SEP-18    07-SEP-18

解决了!最后在e.lastupdate+2的周围加了一个括号,它实际上运行了

select p.id||' '||p.lastname||' '||p.firstname||' '|| e.lastupdate||' '||
       (e.lastupdate + 2) 
from table p, othertable e 
where p.id = e.id 
and hold = 8 
and id in 
         ( select id from othertable
           where buildinginfo is null ) 
order by id;

解决了!最后在e.lastupdate+2的周围加了一个括号,它实际上运行了

select p.id||' '||p.lastname||' '||p.firstname||' '|| e.lastupdate||' '||
       (e.lastupdate + 2) 
from table p, othertable e 
where p.id = e.id 
and hold = 8 
and id in 
         ( select id from othertable
           where buildinginfo is null ) 
order by id;

检查是否适合您:从表p、其他表e中选择p.id | | | | | | | | | | | | | | | | | | p.lastname | | | | | | | p.firstname | | | | | | | | | | | |;谢谢你的回复。当我尝试此查询时,它实际上没有运行。它在ToastRange上返回无效数字错误消息,您是否尝试在日期周围进行修剪调用?我一直在阅读关于| |的内容,它似乎非常简单:它只是连接字符串。我不使用甲骨文或蟾蜍,但据我所知,我最后的评论应该有用。你可以试试,正如@OldProgrammer告诉你的。我认为OldProgrammer所说的是这样的:从表p中选择p.id | | | | | | | | | | | | | | | | | p.lastname | | | | | | | | |,othertable e,其中p.id=e.id,hold=8,以及从othertable中选择id中的id,其中buildinginfo为空,按id排序;检查是否适合您:从表p、其他表e中选择p.id | | | | | | | | | | | | | | | | | | p.lastname | | | | | | | p.firstname | | | | | | | | | | | |;谢谢你的回复。当我尝试此查询时,它实际上没有运行。它在ToastRange上返回无效数字错误消息,您是否尝试在日期周围进行修剪调用?我一直在阅读关于| |的内容,它似乎非常简单:它只是连接字符串。我不使用甲骨文或蟾蜍,但据我所知,我最后的评论应该有用。你可以试试,正如@OldProgrammer告诉你的。我认为OldProgrammer所说的是这样的:从表p中选择p.id | | | | | | | | | | | | | | | | | p.lastname | | | | | | | | |,othertable e,其中p.id=e.id,hold=8,以及从othertable中选择id中的id,其中buildinginfo为空,按id排序;您的e.lastupdate是一个数字,而不是字符串,因此您应该将其包装为_CHAR,以便对其进行适当的格式化。Oracle会自动执行此操作,并且可能出于某种原因在其中填充了太多的空格。您的e.lastupdate是一个数字,而不是字符串,因此您应该将其包装为\u CHAR,以便根据需要对其进行格式化。Oracle会自动执行此操作,并且可能出于某种原因在其中填充了太多的空格。