如何从亚马逊红移中的字符串中删除非数字字符(句号“。”除外)

Posted

技术标签:

【中文标题】如何从亚马逊红移中的字符串中删除非数字字符(句号“。”除外)【英文标题】:How to remove non-numeric characters (except full stop "." ) from a string in amazon redshift 【发布时间】:2017-07-19 06:32:46 【问题描述】:

我一直在试图弄清楚如何删除除句号 (".") 之外的多个 non-numeric 字符,或者只返回字符串中带有句号 (".") 的数字字符。我试过了:

SELECT regexp_replace('~�$$$1$$#1633,123.60&&!!__!', '[^0-9]+', '')

此查询返回以下结果:1163312360

但我希望结果为11633123.60

【问题讨论】:

我没试过,但你可以试试下面的 SELECT regexp_replace('~�$$$1$$#1633,123.60&&!!__!', '[^0- 9.]+', '') 【参考方案1】:

请试试这个:

下面的 regex_replace 表达式将替换 (0-9 范围内) & "." 中所有不是 ("^") 的字符

SELECT regexp_replace('ABC$$$%%11633123.60','([^0-9.])','') FROM DUAL;

它返回预期的输出"11633123.60"

【讨论】:

以上是关于如何从亚马逊红移中的字符串中删除非数字字符(句号“。”除外)的主要内容,如果未能解决你的问题,请参考以下文章

从亚马逊红移中选择最大嵌套 ID

查询以获取亚马逊红移中给定日期到 48 小时内的数据

亚马逊红移中的上次更新查询计数

亚马逊红移中的 SQL 正则表达式 substr 函数

红移中的 REGEXP_REPLACE

红移中的 juliandate 到 normaldate