私のテーブルには、次のフィールドlastNameが含まれていますUNICODE
関数を実装する必要がありSOUNDEXますが、必要なのは のみであるため機能しませんlatin。だから私はそれをに変換しようとしましたlatinが、それでも同じエラーが発生しますonly latin letters allowed
これが私が試したものです
SEL *
FROM tab_test
WHERE SOUNDEX(REGEXP_REPLACE(lastName, '[^A-Z]', '')) = 'smith'
SEL *
FROM tab_test
WHERE SOUNDEX(TRANSLATE(lastNameUSING unicode_to_latin)) = 'smith'
問題を修正するにはどうすればよいですか
編集
dnoethが示唆するように、これが私が試したことです。しかし、それでも機能しません
SEL *
FROM tab_test
WHERE SOUNDEX(TRANSLATE(REGEXP_REPLACE(
lastName,'[^a-zA-Z]','') USING
UNICODE_TO_LATIN)) = 's530'
編集2
これが機能しないクエリです
SEL lastName, REGEXP_REPLACE(lastName, '[^a-zA-Z]', '') lastName_regex
FROM (SEL *
FROM tab_test
WHERE personId < 10
) der
WHERE SOUNDEX(REGEXP_REPLACE(lastName, '[^a-zA-Z]', '')) = 's530'
REGEXP サブクエリの結果は次のとおりです。
SEL lastName, REGEXP_REPLACE(lastName, '[^a-zA-Z]', '') lastName_regex
FROM (SEL *
FROM tab_test
WHERE personId < 10
) der
結果は Teradata SQL Assistant から直接コピーされます
LASTNAME lastName_regex
1 Smith Smith
2 Smith Smith
3 Smith Smith
4 Smith Smith
5 Smith Smith
6 Smith Smith
7 Smith Smith
8 Smith Smith