postgresql中的两个变量:
V_VAR :='US185268001,US285268002,US385268005'; --Input
V_OUT := '001,002,005'; --Expected output to be stored
你知道怎么用postgresql吗?每个逗号分隔值的最后3个字符。如何操作v\u var变量以将输出作为v\u out变量。
更新:
请注意:v\u var可以有任意数量的csv列表。这里我有3个值作为示例。
谢谢,卡蒂克
postgresql中的两个变量:
V_VAR :='US185268001,US285268002,US385268005'; --Input
V_OUT := '001,002,005'; --Expected output to be stored
你知道怎么用postgresql吗?每个逗号分隔值的最后3个字符。如何操作v\u var变量以将输出作为v\u out变量。
更新:
请注意:v\u var可以有任意数量的csv列表。这里我有3个值作为示例。
谢谢,卡蒂克
1条答案
按热度按时间r7knjye21#
我们可以在这里尝试使用regex替换:
这里的策略是延迟匹配,直到在一个组中匹配(并捕获)每个代码的最后3位,在第二个组中匹配一个可选的逗号。然后,我们只替换为三位数字和可选的逗号分隔符。
注:正如@billkarvin所指出的,存储非标准化的csv并不是最佳的数据库设计。如果可能的话,请考虑将每个代码放到一个单独的记录中。