sql-server - 如何将给定列中的可变长度值格式化为相同长度的输出
问题描述
从需求文档中,我需要将数据从 SQL Server 提取到文本文件中,格式类似于hl7,其中第一列需要填充位置 1-9、下一个 10-27、下一个 28-43 等等无论列中数据的实际长度如何。
鉴于每行/列组合将具有不同长度的数据,不知道如何处理。任何想法,将不胜感激。
我尝试过右空格、左空格等,但它们都只是在实际数据长度上添加空格,而不是将返回数据的长度填充为 x 长度。
SELECT
CAST(LEFT(FIRSTNAME + SPACE(60), 60) AS CHAR(60)) 'LEFT'
FROM MLA
就像是
Robert Gaskin Portland
解决方案
select RPAD( firstname, 10, ' ' ) as padded_name from MLA
推荐阅读
- excel - 如何在 Excel 中创建一个 IF 函数来汇总特定时间之间显示的客人数量?
- javascript - 这个绑定在哪里,es6 和 es5 ECMAScript 定义与那些有什么区别?
- html - 如何从电子应用程序中的 [mat-icon] 按钮中删除工具提示?
- reactjs - 如何修复在反应中返回 NaN 的事件处理程序中的调用索引?
- javascript - React/Webpack/Django - 未捕获的类型错误:无法读取未定义的属性“XXX”
- android-studio-3.3 - 断点在 Android Studio 3.3 中不起作用
- java - 将 3 个不同数组的所有值转换为它们的绝对值并返回所有 3 个的方法只保持第一个数组而不是接下来的两个
- python - 如何确保 vscode-python 正确显示来自 `flake8-rst-docstrings` 和/或 `flake8-black` flake8 扩展的 linter 条目?
- php - 为什么清理字符串功能不会阻止在评论字段中提交html链接
- auc - 在 SQL 中计算 AUC