gpt4 book ai didi

sql - 在没有 RIGHT() 的情况下获取 SQL 中字段中最右边的字符

转载 作者:行者123 更新时间:2023-12-04 23:16:28 24 4
gpt4 key购买 nike

我正在使用不支持 SQL RIGHT() 函数的旧 AS400,我需要根据使用 SQL 的数字的最右边 X 个字符(可能为 7 或 8 个字符)来选择行。

如果我不能使用 RIGHT 并且我不知道数字的确切长度,我怎么能得到我想要的?

以下是一些有用的上下文:

该数字是一个日期,但被存储为一个数字,因此第一个零被数据库剥离,导致从零开始的日期(如 01032016 [读取为 01-03-2016] 被修剪为 1032016)。

数据库很大,所以请求所有行而不过滤这个字段会消耗相当多的资源和时间。

将数据库中的日期格式更改为更合理的格式会导致我不维护的软件发生重大更改,这对任务至关重要。

最佳答案

如果数据存储为数字,则 DB 不会剥离前导数字。您用来查询数据的任何工具都在这样做。

假设数据存储为压缩或分区十进制而不是整数(很可能),然后使用 DIGITS()将数字转换为固定字符,包括前导零,然后您可以使用 SUBSTR()

关于sql - 在没有 RIGHT() 的情况下获取 SQL 中字段中最右边的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40182834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com