我正在查詢Oracle 12c數據庫,我需要過濾掉日語中的值,因爲接收這些值的Java應用程序當前不能顯示日語字符。對於快速演示,有什麼辦法可以避免結果中的日文字符串?如何過濾SQL查詢中的日文值?
0
A
回答
0
我沒有改變NLS_LANG格式來正確插入日文字符。使用regexp_like可以過濾沒有字母數字數據的記錄。
create table table1 (name varchar2(100));
insert into table1 (name) values ('ABC');
insert into table1 (name) values ('DEF');
insert into table1 (name) values ('GHI');
insert into table1 (name) values ('JKL');
insert into table1 (name) values ('GHI');
insert into table1 (name) values ('昨夜のコンサ');
insert into table1 (name) values ('昨夜のABC');
select * from table1;
select * from table1 where regexp_like (name,'^[0-9a-zA-Z]+$');
select nvl(regexp_replace(name,'[^0-9a-zA-Z'']',''),'blank') from table1;
0
0
鑑於the unicode ranges for Japanese characters只需更換日文字符:
SELECT REGEXP_REPLACE(
your_column,
UNISTR('[\3000-\303f\3040-\309f\30a0-\30ff\ff00-\ffef\4e00-\9faf]'),
NULL
)
FROM your_table
或忽略這些行:
SELECT *
FROM your_table
WHERE NOT REGEXP_LIKE(
your_column,
UNISTR('[\3000-\303f\3040-\309f\30a0-\30ff\ff00-\ffef\4e00-\9faf]')
)
相關問題
- 1. 如何過濾sql查詢
- 2. 在sql查詢中獲取日期過濾器的值date
- 3. sql查詢過濾本週日期
- 4. 過濾SQL查詢
- 5. 過濾SQL查詢?
- 6. 如何過濾SQL查詢中的最大值記錄
- 7. SQL查詢通過過濾
- 8. 如何過濾SQL Server SQL查詢中的某一列
- 9. 電源查詢 - 如何使用SQL查詢的過濾列表
- 10. 過濾器的SQL查詢的SQL Server
- 11. 過濾SQL樹查詢
- 12. Sql查詢過濾器
- 13. 過濾PDO SQL查詢
- 14. 像過濾器SQL查詢
- 15. SQL查詢 - 過濾主鍵
- 16. SQL查詢中的多個過濾器
- 17. 如何將SQL日期過濾後的查詢插入到另一個SQL查詢中
- 18. 過濾的文本查詢
- 19. 如何過濾子查詢
- 20. 如何過濾Linq查詢?
- 21. Linq查詢過濾列表中的值
- 22. 如何在mongodb中過濾特定日期格式的查詢?
- 23. 如何使用SQL存儲過程編寫過濾的查詢?
- 24. 翻譯SQL查詢的DbContext查詢與過濾子查詢
- 25. FMDB - 基於日期的查詢過濾
- 26. 通過SQL查詢過濾DataGridView表
- 27. 如何根據同一列中的多個值過濾SQL查詢
- 28. 帶有日期過濾器的SQL Server查詢
- 29. 查詢過濾器中的上下文?
- 30. 如何過濾和消除查詢集中的重複值?
只接受英文字符? 'REGEXP_REPLACE'用'''替換任何不是英文的字符' –
[日文的Unicode範圍]的可能重複(http://stackoverflow.com/questions/19899554/unicode-range-for-japanese) – Shnugo
@ Shnugo不是重複的 - 只是給出了日文字符的unicode範圍,但沒有顯示如何從Oracle中的字符串中過濾這些值。 – MT0