现在有一个需求:把字符串中代表日的截取出来,如果小于10就前面拼接一个0;如果大于等于10就不拼接。
这里不说怎么截取字符串,怎么判断,主要说拼接字符串。
oracle拼接字符串用 ||,字符串也可以和数字拼接。
假设现在截取出来的日是3,那么应该是03,下面的sql没有问题:
select 0 || 3 from student;
现在又有一个新需求,需要把截取出来的日+1。如果+1以后小于10就前面拼接一个0;如果大于等于10就不拼接。
select 0 || 3 + 1 from student; 按理说应该返回 03 ,但实际返回的是4。
我猜是字符串加数字还是按数字相加处理的。
如下处理即可:
select 0 || (3 + 1) from student;