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

Spark SQL如何使用lpad实现固定长度字符串左侧补空格

实现方案

你可以组合使用 Spark SQL 的 right 函数和 lpad 函数实现需求,最终写法如下:

spark.sql("select case when length(med) > 0 then lpad(right(med, 13), 13, ' ') else '' end as med from input").show(false)

逻辑说明

  • 第一步用right(med, 13)提取输入字符串最右侧的13个字符:
    • 输入长度大于13时,自动截断左侧多余字符,完全匹配你给出的两个截断示例的要求
    • 输入长度小于等于13时,返回完整原字符串
  • 第二步用lpad(xxx, 13, ' ')处理长度不足的场景:如果字符串长度小于13,在左侧补空格直到总长度为13;如果已经是13位则直接返回原值

效果验证

  • 示例1输入:10个空格 + 1234(总长度14)
    处理后得到9个空格 + 1234(总长度13),符合预期
  • 示例2输入:10个空格 + 13位数字(总长度23)
    处理后得到完整13位数字,符合预期
  • 短字符测试输入:1234(总长度4)
    处理后得到9个空格 + 1234(总长度13),符合左侧补空格的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:48:02