关于to_char 格式化

misswangjinfeng 2016-08-31 04:36:45
oracle 中的写法:select dbo.to_char(7.049999,'99999999999990.9999') 输出: 7.0500
请问sql server 应该怎么转? 现在做数据库移植~
...全文
418 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2016-09-01
  • 打赏
  • 举报
回复
select dbo.to_char(7.049999,'99999999999990.9999') 这里面的参数是根据字段获取的,并不是写死的 你自己替换一下,这个就不要麻烦别人了吧
引用 2 楼 wmxcn2000 的回复:

-- 
select Convert(decimal(18,4),7.049999)
卖水果的net 2016-09-01
  • 打赏
  • 举报
回复
引用 6 楼 misswangjinfeng 的回复:
你这样不是写死了!18,4 你已经写死了留几位小数,我这里不能固定的
你具体的需求,再详细的说说吧!
LongRui888 2016-09-01
  • 打赏
  • 举报
回复
引用 6 楼 misswangjinfeng 的回复:
没明白我的意思 哎 [quote=引用 5 楼 wmxcn2000 的回复:] select dbo.to_char(7.049999,'99999999999990.9999') 这里面的参数是根据字段获取的,并不是写死的 你自己替换一下,这个就不要麻烦别人了吧 [quote=引用 2 楼 wmxcn2000 的回复:]

-- 
select Convert(decimal(18,4),7.049999)
[/quote] 你这样不是写死了!18,4 你已经写死了留几位小数,我这里不能固定的[/quote] sql server没有类似oracle的这种格式化函数。。。
giftsf 2016-09-01
  • 打赏
  • 举报
回复
你都四舍五入了 还不固定?
misswangjinfeng 2016-09-01
  • 打赏
  • 举报
回复
没明白我的意思 哎
引用 5 楼 wmxcn2000 的回复:
select dbo.to_char(7.049999,'99999999999990.9999') 这里面的参数是根据字段获取的,并不是写死的 你自己替换一下,这个就不要麻烦别人了吧 [quote=引用 2 楼 wmxcn2000 的回复:]

-- 
select Convert(decimal(18,4),7.049999)
[/quote] 你这样不是写死了!18,4 你已经写死了留几位小数,我这里不能固定的
misswangjinfeng 2016-08-31
  • 打赏
  • 举报
回复
select dbo.to_char(7.049999,'99999999999990.9999') 这里面的参数是根据字段获取的,并不是写死的 select t.datavalue,dbo.RPAD('99999999999990.',dbo.decode(tl.floatprecision,0,-1,tl.floatprecision)+15,'9')。。。。。 dbo.RPAD dbo.decode 都是模拟oracle 中的函数写的自定义函数
giftsf 2016-08-31
  • 打赏
  • 举报
回复
错了 是 select round(7.049999,4); 精确到4位的 四舍五入
卖水果的net 2016-08-31
  • 打赏
  • 举报
回复

-- 
select Convert(decimal(18,4),7.049999)
giftsf 2016-08-31
  • 打赏
  • 举报
回复
select round(7.049999,5);

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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