2
A
回答
4
可以使用FLOOR function:
select floor(20041111/10000) from dual;
3
下列不转换为字符串,但我不知道它是更具可读性...:
select floor(20041111/power(10, floor(log(10, 20041111) - 3)))
from dual;
日志(10,20041111 ) - > 8.3 ...意思是10^8.3 ... = 20041111
如果你发出这个数值,你就得到你的数字的基数为10的数字位数
,如果你想删除的数字,你只需要10 ^分(#digits - 3)(而不是-4自10^1已经有2位)
+1
我知道你做了什么。但其余的一个litle解释会很好。 –
+1
很好用,直到你输入一个三位数的数字,在这个数字上右边用零填充 - 这可能不是期望的结果。这将由OP来定义规则。如果你想避免右键填充(如果数字小于1000,可以得到前四位或更少),那么:floor(:x/power(10,最大(floor(log(10,:x)-3),0) )) –
1
另一种方法是使用REGEXP_REPLACE
SELECT REGEXP_REPLACE(20041111,'....$') FROM dual;
相关问题
- 1. 如何获得oracle pl/sql中整数的位串长度?
- 2. 如何在表中获得的Oracle SQL
- 3. 如何获得大量数字的所有第一位数字的平均值
- 4. 如何获得列名首字母大写的Oracle SQL Developer中
- 5. Oracle PL/SQL从名称中获得第一个字母(HUN)
- 6. 如何获得1/4 2/4 3/4和4/4分钟的ms sql
- 7. 如何获得第n位值
- 8. 如何获得bash中的第n个位置参数?
- 9. 如何获得的数字位置字符的
- 10. 如何获得preg_match的第一个数字字符?
- 11. 在bash字符串后如何获得的第一个数字
- 12. 仅获取数据,第56位为SQL中的第8位和第9位数字
- 13. 如何从oracle中的字符串中获取4个字符?
- 14. 的LINQ:如何获得倒数第二
- 15. Oracle SQL获取月的第一天
- 16. 如何获得小数第一个x(最左边)的数字
- 17. 如何获得位数
- 18. Oracle SQL:4小时计数?
- 19. 如何获得oracle表中的第一列?
- 20. httpclient 4如何获得字节
- 21. 如何获得从4开始的数字并进行转换?
- 22. 如何获取android的最后4位数字?
- 23. 如何获得最后四位和第一个字符?
- 24. 如何从cpp中的任何给定数字的右侧获得第三位数字?
- 25. 如何从oracle数据库中获得多个表的计数?
- 26. 如何改进此计划以获得24个4位数?
- 27. 如何获得大于x的位置的所有数字?
- 28. 如何获得第二的数量和第四使用SQL查询
- 29. 如何在PHP中获得本月的第一天数字?
- 30. WordPress的 - 如何获得循环的第n个职位?
'select substr(20041111,1,4)from dual;'也可以。 –
如果它总是8位数字并且它被存储为一个INT,那么你可以只用10000 – JNevill
@WernfriedDomscheit哦是的。我假设它转换为引擎盖下的字符串/字符? – NimChimpsky