我有一個表命名參數看起來像這樣:甲骨文,無法從同一列中獲取信息
ID - number
NAME - varchar2
VALUE - varchar2
我有這個疑問女巫「提取」字符串中的日期:
SELECT * from PARAMETER
where (NAME = 'From') and SUBSTR(VALUE, 1, 2)>='01'
and SUBSTR(ALUE, -7, 5)>='11' and SUBSTR(VALUE, -4, 4) >='2012'
現在,我需要重新運行它只是改變:where (NAME = 'From')
到where (NAME = 'To')
,並比較結果。我找不到辦法做到這一點。有一個竅門嗎?
首先,我認爲你正在試圖比較字符串,就好像它們是日期或數字一樣。 > =運算符僅考慮字符串的長度而不考慮其數值。 例如001> 99是真的,即使它們是數字(整數)也是假的。 我覺得第一個訣竅就是那個。 並且我也沒有得到你想從你的SUBSTR操作中獲得的東西。 Substr(字符串,起始點,長度)。您期望從SUBSTR獲得什麼(VALUE,-4,4) 最後但並非最不重要的是:向我們提供VALUE列的樣本值。 –
這是VALUE列中的內容:29/11/2012 – Slim
好的,並請解釋您想要通過查詢獲得什麼。用我的意思來說就是。例如:我想從01/11/2012查找所有開始的條目(即姓名='發件人'),並於2012年11月20日結束(即姓名='收件人') –