如何在 Hadoop 中编写 HQL 表达式以验证特定格式的字母数字字段的格式,例如 X9999

Posted

技术标签:

【中文标题】如何在 Hadoop 中编写 HQL 表达式以验证特定格式的字母数字字段的格式,例如 X9999【英文标题】:How to write HQL expression in Hadoop to verify format of alphanumeric field in specific format such as X9999 【发布时间】:2019-07-23 21:02:18 【问题描述】:

如何编写 HQL 来确定字段的结果是否第一个字符为 alpha 并且以下四个是数字。 (即 - 该字段的格式是“F5555”,因此我需要验证从该字段的查询返回的所有结果都遵循正确的格式。

【问题讨论】:

【参考方案1】:

你可以试试这个:

select REGEXP_EXTRACT( 'd55555' , '^[A-Za-z ]?[0-9]5$', 0);

现在,为了理解,请阅读this并看下一个cmets:

^ 表示字符串的开头(在这种模式下我们标记开头); [A-Za-z] - 表示任何字母:大写或小写; ? - 表示我们只希望前一个字符类出现 1 次; [0-9] - 0 到 9 之间的任意数字; 5 - 表示前一个字符类 ([0-9]) 必须准确出现 5 次(不多不少); $ - 字符串结尾;

希望你能理解。

【讨论】:

这个解决方案效果很好。非常感谢您的帮助!

以上是关于如何在 Hadoop 中编写 HQL 表达式以验证特定格式的字母数字字段的格式,例如 X9999的主要内容,如果未能解决你的问题,请参考以下文章

Hive

如何在 Angular 2 上实现 ngOnChanges 以进行输入验证,而不触发“检查后表达式已更改。”错误

在 ( ... ) 查询中编写 HQL 的正确方法

hql 查询以获取数据和金额总和

如何使用“构造函数”在“选择子句”中为多个表的选定列编写HQL JOIN查询

如何使用 cast 编写 hql 查询?