You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL技术问题:如何补全姓名至10位并按薪资生成对应$符号

Oracle SQL 两个格式化需求的实现方案

1. 姓名补圆点至10个字符长度

用Oracle自带的RPAD函数就能搞定,它会在字符串右侧填充指定字符,直到达到你要的总长度。

语法:RPAD(原始字符串, 目标总长度, 填充字符)

示例代码:

SELECT 
  name,
  RPAD(name, 10, '.') AS formatted_name
FROM your_table;

比如姓名是Sara时,RPAD('Sara', 10, '.')会返回Sara......(4个原字符加6个圆点,总长度刚好10)。要是姓名本身已经超过10字符,函数会直接返回原字符串,不会做截断处理。

2. 根据薪资生成对应数量的美元符号

先通过TRUNC函数算出薪资里包含多少个100的整数倍,再用RPAD生成对应数量的$就行。

语法:RPAD('', TRUNC(salary/100), '$')

示例代码:

SELECT 
  salary,
  RPAD('', TRUNC(salary/100), '$') AS salary_dollars
FROM your_table;
  • 薪资为500时,TRUNC(500/100)=5,生成$$$$$
  • 薪资为350时,TRUNC(350/100)=3,生成$$$
  • 薪资为99时,TRUNC(99/100)=0,生成空字符串

如果要把两个需求合并到一个查询里,完整示例如下:

SELECT 
  name,
  RPAD(name, 10, '.') AS formatted_name,
  salary,
  RPAD('', TRUNC(salary/100), '$') AS salary_dollars
FROM your_table;

内容的提问来源于stack exchange,提问作者soooe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 16:20:28