sql - SQL / Celonis - 字段仅包含数字,删除其他任何内容
问题描述
在一个字段中,我想保留那些只有 100000 到 999999 之间的数字
该字段混合了数字、字母数字、字母字符。
如果字段中有数字,则此功能将保留,例如将 abc123 保留在我希望删除的位置
where some_column NOT LIKE '%[^0-9]%'
附加 - Celonis 等效?
Gordon 提供了 SQL Server 编码以完全按照预期执行此操作。
我希望这能在Celonis中工作,但不支持 try_convert 函数。还有其他方法吗?
where try_convert(int, some_column) between 100000 and 999999
解决方案
首先,很高兴知道 Celonis 使用 Vertica SQL 来收集事件。Vertica 有一些特定的功能,您可以在https://www.vertica.com/docs/找到这些功能。
也就是说,我不确定我是否很好地理解了您的问题,但我认为REGEXP_ILIKE是您可以使用的东西,其中 '[0-9]' 可能是您要检查您的字段是否包含的表达式数值。
如果您想提取数字本身(例如检查它是否在 100000 和 999999 之间,请使用REGEXP_SUBSTR。
您的代码将类似于:
WHERE REGEXP_SUBSTR(some_column, [0-9]) BETWEEN 100000 AND 999999
推荐阅读
- svn - 我们更新 subversion 时有什么影响吗?
- c# - 无法加载文件或程序集“系统,版本=4.0.0.0,文化=中性”或其依赖项之一
- mysql - SQL:使用动态日期获取行
- android - 使用 FirestorePagingAdapter 时在我的 RecyclerView 中设置起始位置
- powershell - PowerShell 从打开的选项卡中检索 HTML
- javascript - 通过 AJAX 加载表单时,JAWS 未切换到表单模式
- angular5 - 在 IIS 上托管时无法加载 i18n 资产文件
- swift - 检查 UITableViewCell 内的 UITextField 是否为空
- php - 如何在php中重命名文件夹
- c# - Xamarin.Forms.Lottie 2.5.4 不工作