我試圖在我的表中查找在雪花的特定列中具有非 ASCII 字符(一個或多個)的所有行。我嘗試使用下面的查詢。盡管如此,它并沒有給我想要的結果。
SELECT *
FROM table_name
WHERE column_name REGEXP '[^a-zA-Z0-9];
另外,我也試過這個查詢:
SELECT *
FROM tableName
WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)
這給了我錯誤,因為我不能USING在 Snowflake 中使用。
只是為了詳細說明一點,我希望找到包含 ?、?、?、?、? 等字符的行。要清楚,這些只是我試圖找到所有行的示例,其中有一個或更多非 ASCII 字符的情況。
uj5u.com熱心網友回復:
如果你只是想檢測一列是否有非 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 匹配替換變音符號,你可以使用這種方法:
如何替換雪花中的字符重音字符?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346760.html
上一篇:拆分列并在sql中的新列中顯示
