为 SQL Redshift 连接两个整数的最佳方法是啥?
Posted
技术标签:
【中文标题】为 SQL Redshift 连接两个整数的最佳方法是啥?【英文标题】:What's the best way to concat two integers for SQL Redshift?为 SQL Redshift 连接两个整数的最佳方法是什么? 【发布时间】:2020-12-20 00:43:19 【问题描述】:我正在尝试创建一个简单的键值,它看起来像“subid_pid”,其中 subid 和 pid 是整数。 我尝试做 concat(subid+'_'+pid) 并试图找出我做错了什么
【问题讨论】:
不能连接两个整数。 [思考:类型] 【参考方案1】:+
是字符串算术。要连接字符串,请使用 ||
运算符。 Redshift 应该自动转换数字。所以,你只需要:
(subid || '_' || pid)
如果你真的想要显式转换,那么text
很方便:
(subid::text || '_' || pid::text)
【讨论】:
谢谢。 (subid || '_' || pid) 有效,但是当我对这些值进行计数时,它正在做一些可疑的事情。计数错误。 @Lgdance 。 . .这回答了你在这里提出的问题,而这个问题与计算任何东西无关。我建议您使用适当的样本数据和期望的结果提出一个新问题。【参考方案2】:您可以将整数转换为字符串并与||
连接:
subid::varchar(20) || '_' || pid::varchar(20)
【讨论】:
做字符串好还是文字好? @Lgdance:这里都可以。 感谢 beaucoup 专线小巴***.com/users/10676716/gmb以上是关于为 SQL Redshift 连接两个整数的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL(Redshift)中将字符串(43677)转换为日期格式 [关闭]
在 Redshift 中将 MD5 输出转换为 32 位整数
如何在 AMAZON REDSHIFT 中将 userip 转换为整数