mysql - 在 SnowFlake 的特定列中查找所有具有非 ASCII 的行
问题描述
我试图在我的表中查找在 Snowflake 的特定列中具有非 ASCII 字符(一个或多个)的所有行。我尝试使用下面的查询。虽然,它没有给我想要的结果。
SELECT *
FROM table_name
WHERE column_name REGEXP '[^a-zA-Z0-9];
另外,我也试过这个查询:
SELECT *
FROM tableName
WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)
这给了我错误,因为我不能USING
在雪花中使用。
只是为了详细说明一下,我正在寻找带有 Ã、Ä、Ç、Ô、ÿ 等字符的行。要清楚,这些只是我试图找到所有行的示例更多非 ASCII 字符的情况。
解决方案
如果你只是想检测一列是否有非ASCII,你可以这样做:
set MY_STRING1 = 'Hello, world';
set MY_STRING2 = 'Ãbcde';
select regexp_instr($MY_STRING1,'[^[:ascii:]]') > 0 as HAS_NON_ASCII;
select regexp_instr($MY_STRING2,'[^[:ascii:]]') > 0 as HAS_NON_ASCII;
如果你想用最接近的 ASCII 匹配替换变音符号,你可以使用这种方法:
推荐阅读
- xcode - SAS代码解释的更正
- sql - 单表的 SQL 透视图
- javascript - Zapier Cli - 有没有办法将订单项从 Shopify 发送到我的 Zapier CLI 应用程序?
- flutter - Flutter:获取默认上下文?或在没有上下文的情况下加载资产?
- ios - Xcode 中发布版本的 Bundlejs 错误(react-native)
- sql - 为其他两列中的每个值从列中选择最大值
- google-apps-script - 使用 DriveApp 和 Smartsheets Sync 时缺少 FormResponse 对象
- python - 为什么在使用 split 命令后它会从数据框中删除所有数据
- python-3.x - RandomizedSearchCV 能否根据最佳模型输出特征重要性?
- python - keras LSTM 层训练时间太长