sql - SQL中如何将0添加到数字属性中,以便属性中的所有数字都是10位数字
问题描述
我有一个数字属性,其中包含数据库表中的 ID。但是,ID 的长度不同(例如 54261、73284619、3723)。我希望它们都具有相同的长度,方法是在它们前面添加 0,以便它们都是 10 位数字(例如 000054261、0073284619、0000003723)。我想知道我是否可以编写一个 SQL 查询来实现这一点,或者我必须在 Excel 中执行此操作。
解决方案
通常建议使用 LPAD、RPAD 等功能来实现您的用例
试试下面的东西
Select TO_NUMBER(LPAD(TO_CHAR(ID) , 10,'0')) FROM
DUAL;
LPAD 将在字符串 id 的左侧添加零以使其成为 10 位数字,RPAD 反之亦然,在右侧添加 0
注意:可能并非所有数据库都支持,但主要支持 oracle、postgres 等。
推荐阅读
- javascript - 如果对象被破坏,jest 无法窥探
- python - 使用键列表验证嵌套的 json 键
- python - TypeError:字段“id”需要一个数字,但得到了
尝试仅针对特定的 NewHireTraining 显示受训人员。
我正在将其他上下文数据传递给 training_details 视图类,以显示该培训下的受训者与受训者班级下的foreingkey 相关。
它返回属性的位置
i
- asp.net - ASP.NET MVC 在 ElasticBeanStalk AWS 上不起作用
- f# - 在 Fsharp.Data JsonProvider 中解析混合类型
- r - 汇总 R 中的多个字段并抑制小于 x 的值
- r - 无法使用 observeEvent 和 eventReactive 更新闪亮应用程序中的输入
- google-cloud-platform - 使用 gcsfuse 安装在 Compute Engine 实例上的 Google Cloud Bucket 不会创建文件
- c++ - C++ 嵌套的 try-catch 捕获相同的异常 - 我应该如何重写这段代码?
- directx-11 - 将渲染目标视图设置为纹理直接 X 11 的一部分