PostgreSQL:是否有一个函数可以将 10 进制整数转换为 36 进制字符串?
PostgreSQL 中是否有函数可以将像 30
这样的基数 10 数字转换为像 u
这样的基数 36 表示?
Is there a function in PostgreSQL that can convert a base 10 number like 30
into a base 36 representation like u
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有 Base-64 函数(例如
encode
),但对于 base-36 没有任何内容。但是您可以编写自己的一个或使用这个:我我认为您应该问自己数据库是否是处理此类数据格式的正确位置,但是像这样的表示问题可能会在接近堆栈的最终查看级别时得到更好的处理。
There are base-64 functions (such as
encode
) but nothing for base-36. But you could write one of your own or use this one:I think you should ask yourself if the database is the right place for dealing with this sort of data formatting though, presentational issues like this might be better handled closer to final viewing level of your stack.
修改的实现
对其他实现进行修改以增加可读性。任何类型的更新或修改或建议都可以提高可读性。
Modified Implementation
Modified from other implementation to increase the readability. Any kind of update or modification or suggestion appreciated to increase the readability.
这是一个可以接受任意大小的数字的版本,它使用数据类型“numeric”,这是 bignum 的 postgresql 实现。
here's a version that can take numbers of any size, it uses the data type "numeric" which is the postgresql implementation of bignum.