Hive 如何检查列是否为字符串
如何在配置单元中检查列是否包含字符串。我的列是字符串数据类型,其值如下Hive 如何检查列是否为字符串,hive,Hive,如何在配置单元中检查列是否包含字符串。我的列是字符串数据类型,其值如下 my_col string 000001234 0001111 检查字符串是否存在的一种方法如下: SELECT my_col, CASE WHEN HEX(LOWER(my_col)) <> HEX(UPPER(my_col)) then 'char present' else 'no char' END char_check FROM my_table; 选择 我的上校, 当十六进制(较低(我的列))十
my_col string
000001234
0001111
检查字符串是否存在的一种方法如下:
SELECT
my_col,
CASE WHEN HEX(LOWER(my_col)) <> HEX(UPPER(my_col)) then 'char present' else 'no char' END char_check
FROM my_table;
选择
我的上校,
当十六进制(较低(我的列))十六进制(较高(我的列))时,则为'char present'或'no char'结束字符检查
从我的桌子上;
我们将值转换为小写和大写,并将其转换为十六进制
HEX('1a')
3161
HEX('1A')
3141
这就是为什么我们知道存在一个可以转换成大写或小写的字符
这是一个快速的解决方法,否则我将使用Java创建UDF。检查是否存在字符串的一种方法如下:
SELECT
my_col,
CASE WHEN HEX(LOWER(my_col)) <> HEX(UPPER(my_col)) then 'char present' else 'no char' END char_check
FROM my_table;
选择
我的上校,
当十六进制(较低(我的列))十六进制(较高(我的列))时,则为'char present'或'no char'结束字符检查
从我的桌子上;
我们将值转换为小写和大写,并将其转换为十六进制
HEX('1a')
3161
HEX('1A')
3141
这就是为什么我们知道存在一个可以转换成大写或小写的字符
这是一个快速的解决方法,否则我将使用Java创建UDF