簡體   English   中英

選擇在單個值中包含混合字符的行,例如名稱列中的“ Joh?n”

[英]Select rows that has mixed charcters in a single value e.g. 'Joh?n' in name column

在oracle表中:

1-VARCHAR列中的值包含不是字母的字符。

考慮一個方案,其中“ last_name”列中的名稱包含常規字符(A-Z,a-z)以及非英語字母的字符(例如“。”,“-”,“,” _, >”或類似)。

面臨的挑戰是選擇名稱在“ last_name”中作為“ .John”或“ John”的行。 或'-John'或'Joh-n'

2-是否可以在“日期定義的”列中包含非日期值? 如果是,如何在oracle查詢中選擇此類記錄?

謝謝!

我相信這可以解決問題:

SELECT * FROM mytable WHERE REGEXP_LIKE(last_name, '[^A-Za-z]');

至於第二個問題,我不確定。 如果有人可以補充我要回答的第二個問題,我將感到非常高興。 我發現該網站認為可能會有幫助。 http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html解釋了DATE格式。

如果我正確理解了您的目標,則需要選擇last_name列中包含名稱“ John”的行,但是該名稱之前,之后甚至內部可能還會有其他字符。 在這種情況下,這將有所幫助:

select * from tab where regexp_replace(last_name, '[^A-Za-z]+', '') = 'John'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM