select To_char(1,'99') from dual 求解

hckxzy 2011-03-25 04:04:00
select length(To_char(1,'99')) from dual
为什么上面结果是3,而不是2.
...全文
187 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hckxzy 2011-03-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 doer_ljy 的回复:]

使用9的话,
会根据9的个数,补空格。
当然还会加上一个+/-的符号占位。
所以是一个符号空格加上一个因为9的个数补充的空格加上一个【1】一共是三位。
看这段话,这是oracle光访文档
-------------------------
Returns value with the specified number of digits with a leading space if……
[/Quote]
谢谢,说的很是
doer_ljy 2011-03-25
  • 打赏
  • 举报
回复
也就是说如果是
select 'XX' || to_char(-1,'99') from dual
结果:XX -1

select 'XX' || to_char(-10,'99') from dual
结果:XX-10

select 'XX' || to_char(10,'99') from dual
结果:XX 10
doer_ljy 2011-03-25
  • 打赏
  • 举报
回复
使用9的话,
会根据9的个数,补空格。
当然还会加上一个+/-的符号占位。
所以是一个符号空格加上一个因为9的个数补充的空格加上一个【1】一共是三位。
看这段话,这是oracle光访文档
-------------------------
Returns value with the specified number of digits with a leading space if positive or with a leading minus if negative.
Leading zeros are blank, except for a zero value, which returns a zero for the integer part of the fixed-point number.
hckxzy 2011-03-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 luoyoumou 的回复:]

-- 因为前面有两个“前导空格”
[/Quote]
不明白,to_char(1,'99');不是在‘9’对应有数字的地方显示数字,没有数字的地方显示空格,为什么,显示了两个空格。求解?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luoyoumou 的回复:]
eygle@SZTYORA> select 'luoyoumou'||to_char(1,'99') from dual;

'LUOYOUMOU'||TO_CHAR(1,'
------------------------
luoyoumou 1

已选择 1 行。

-- 这样看,你就明白啦!
[/Quote]
呵呵
刚查到了

楼主看看
http://hi.baidu.com/luanjy/blog/item/8cc47089eb1c0ab50f244438.html
luoyoumou 2011-03-25
  • 打赏
  • 举报
回复
-- 因为前面有两个“前导空格”
luoyoumou 2011-03-25
  • 打赏
  • 举报
回复
eygle@SZTYORA> select 'luoyoumou'||to_char(1,'99') from dual;

'LUOYOUMOU'||TO_CHAR(1,'
------------------------
luoyoumou 1

已选择 1 行。

-- 这样看,你就明白啦!
1. 解开用户 1 2. 取得系统当前时间 1 3. 任何含有空值的表达式计算结果都是空值和字符串拼接 1 4. distinct:select distinct deptno,job from emp; distinct是指deptno与job组合的唯一 2 5. 指定转义字符 2 6. order by 2 7. lower函数 2 8. subsr函数 2 9. chr、ascii函数将编码转换为字符或将字符转换为ASCII码 2 10. round四舍五入函数 2 11. to_char函数将日期或数字串转换为固定的格式 2 12. to_date函数将字符串转换为指定的日期格式 2 13. to_number函数 2 14. group by 2 15. 建表create 2 16. 修改表结构alter 3 17. 查看相关表、视图、字典、约束、索引等 3 18. 事务概念 4 19. 范式 4 20. pl_sql 4 1)需要在控制台打印数据的时候必须先执行:set serveroutput on; 4 2)简单例子: 4 3)打印乘法表 4 4)打印星号三角形 4 5)根据雇员工资分级显示税金。 4 6)使用CASE结构实现职务转换。 4 7)求:12+32+52+...+152 的值 4 8)输出一个空心三角形。 4 9)使用二重循环求1!+2!+...+10!的值。 4 21. 连表查询操作(员工-部门-薪水) 4 1) 表结构 4 2) 求部门中那些人的薪水最高 4 3) 求部门平均薪水的等级 5 4) 求部门平均的薪水等级 5 5) 雇员中有哪些人是经理 5 6) 不准用组函数,求薪水最高值 5 7) 求平均薪水最高的部门的部门编号 5 8) 求平均薪水最高的部门的部门名称 5 ①不建视图 5 ②使用视图 5 9) 求部门经理人中平均薪水最低的部门名称 6 10)求比普通员工最高薪水还要高的经理人名称 6 11)求薪水最高的前5名雇员 6

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧