如何解决SQL:格式化数字以显示为4位数字
使用GBQ中的多个数据表来显示公共ID_NUM,它们都是四位数字。但是,在一个表中,它们不包含前导0,这意味着我的表如下所示:
src
package
Texture.java
res
textures
floor.png
当我尝试合并数据并根据特定ID_NUM值进行过滤时,对'0111'进行过滤不会拉回结果,其中'111'是表C中的ID_NUM。
我尝试使用---------------------------------------
| TABLE A | TABLE B | TABLE C |
---------------------------------------
| 0111 | 0111 | 111 |
----------------------------------------
| 0112 | 0112 | 112 |
----------------------------------------
| 0234 | 0234 | 234 |
----------------------------------------
| 1215 | 1215 | 1215 |
----------------------------------------
| 5665 | 5665 | 5665 |
----------------------------------------
,但是会导致参数过多,而且我不确定是什么触发了该错误。
解决方法
您可以使用safe_cast()
:
where safe_cast(id_num as int64) = 0
,
您可以使用以下选项:
整数值:
SELECT FORMAT("%04d",111);
字符串值:
SELECT LPAD('111',4,'0');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。