QMa*_*an5 2 regex mysql sql snowflake-cloud-data-platform
我试图在 Snowflake 的特定列中查找表中包含非 ASCII 字符(一个或多个)的所有行。我尝试使用下面的查询。虽然,它没有给我我想要的结果。
\nSELECT *\nFROM table_name\nWHERE column_name REGEXP '[^a-zA-Z0-9]; \nRun Code Online (Sandbox Code Playgroud)\n另外,我也尝试过这个查询:
\nSELECT *\n FROM tableName \n WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)\nRun Code Online (Sandbox Code Playgroud)\n这给了我错误,因为我不能USING在 Snowflake 中使用。
为了更详细地说明一下,我正在寻找包含 \xc3\x83、\xc3\x84、\xc3\x87、\xc3\x94、\xc3\xbf 等字符的行。需要明确的是,这些是仅作为示例,我试图查找存在一种或多种非 ASCII 字符的所有行。
\n如果你只是想检测某列是否有非 ASCII,你可以这样做:
\nset MY_STRING1 = \'Hello, world\';\nset MY_STRING2 = \'\xc3\x83bcde\';\n\nselect regexp_instr($MY_STRING1,\'[^[:ascii:]]\') > 0 as HAS_NON_ASCII;\nselect regexp_instr($MY_STRING2,\'[^[:ascii:]]\') > 0 as HAS_NON_ASCII;\nRun Code Online (Sandbox Code Playgroud)\n如果您想用最接近的 ASCII 匹配替换变音符号,可以使用以下方法:
\n\n