我想顯示誰在2010下訂單。當我顯示從custorder表「客戶ID」和「訂購日期」一切爲了客戶,格式如下:的Oracle SQL,我的WHERE子句限制特定年份
C-300064 06-DEC-10
基本上我需要弄清楚如何讓它只顯示客戶ID,其中訂購日期的最後兩位數字是10
有人能幫助我嗎?
我想顯示誰在2010下訂單。當我顯示從custorder表「客戶ID」和「訂購日期」一切爲了客戶,格式如下:的Oracle SQL,我的WHERE子句限制特定年份
C-300064 06-DEC-10
基本上我需要弄清楚如何讓它只顯示客戶ID,其中訂購日期的最後兩位數字是10
有人能幫助我嗎?
我想誰顯示2010年間下訂單的所有客戶
簡單:
SELECT customerid , orderdate
FROM your_table
WHERE orderdate >= DATE '2010-01-01' AND orderdate < DATE '2011-01-01';
如果訂購日期爲DATE
列,然後它是如何顯示沒有按」沒關係。 DATE 'YYYY-MM-DD'
文字不依賴於您的會話NLS_DATE_FORMAT
。
我確實看到佈局有幾個不同的地方,但不知道是否因爲這個數據庫中的日期格式(06-DEC-10)與你寫的不同(2010-12- 10)。或者我錯了,還是沒關係? – Jaluvshuskies
您可以通過改變它的格式來使用 –
有趣的是,我不知道。泰求救,非常感謝! – Jaluvshuskies
如果您使用的是Oracle,您可以通過多種方式來實現這一點使用上的「訂購日期」列中的WHERE子句。但是,使用Oracle SQL時,可能需要一些額外的代碼來說明不同的日期格式。我相信這些例子應該爲你工作:
SELECT t1.customerid, t1.orderdate
FROM some_table t1
WHERE t1.orderdate BETWEEN '2017-01-01' AND '2017-12-31';
SELECT t1.customerid, t1.orderdate
FROM some_table t1
WEHRE t1.orderdate > '2016-12-31' AND t1.orderdate < '2018-01-01';
SELECT t1.customerid, t1.orderdate
FROM some_table t1
WHERE NOT ('2017-01-01' > t1.orderdate OR '2017-12-31' < t1.orderdate);
之間的方法需要一點時間來處理,所以我會建議底部的兩個選項(WHERE和WHERE NOT)。
我已經建立了一個小提琴,顯示這三個例子:http://sqlfiddle.com/#!9/38063/1
祝你好運!
添加一些示例表格數據以及預期結果!請格式化文本,而不是圖片。 – jarlh