查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
jocosn

 發表於 2005-5-24 10:23 PM

不好意思,沒注意到標題。


劭鵬

 發表於 2005-5-24 07:52 PM

jocosn前輩...不好意思啦...標題我之前有改過了可能您沒有時間仔細看...我的資料庫是Sql Server 2000...

減一個月的方法我今天試出來了...如下:

DATEADD(MONTH,-1, @createdate)

因為我現在在學習 Reporting Services 很多東西都才剛開始...沒有想到效能的問題...只想到要如何將資料撈出來...Table也不是我設計的...

謝謝熊大跟jocosn前輩的幫忙...


jocosn

 發表於 2005-5-24 04:46 AM


引用:
劭鵬寫到:
那如果我要將 @createdate 減 1個月 的話要怎麼寫呢?又不能直接將 '2005/05' -1 會有錯誤訊息 " varchar 數值 '2005/05' 轉換成資料型別為 int 的資料行語法錯誤。"


劭鵬老大,所以才要問你是用哪一種資料庫啊?你到底是用哪一種資料庫?這麼神秘無法透露?
每種資料庫都有處理日期的函數,所以你查查看用哪一個函數作處理就好了。不需花時間去考慮要怎麼用 SQL 語法,SQL 語法不是萬能的,他不是萬能核子小金剛。:icons8

不然你就自己再設一個 @createdate2 的值  '2005/04'  去處理就好了,為什麼要花這麼偉大的工程去轉換型別去減一個月。:
你這樣做沒好處,因為資料庫你寫久寫爛寫煩了,你就會知道你還要做效能考量分析。你這樣做的效能絕對比我的建議還低。
或許搞語法可以很帥很神,但是如果你是上班族讓你的頭頭看到,你就被電慘了。


解出來的話你再 PO 文讓我們知道你的結果吧。加油!


PS. Amount...table 設計俺實在是看不懂,你的欄位夾雜有中英文,要小心,小心寫久上癮。因為有些資料庫會有編碼問題,小心他的相容性,這種情況你要特別註明,以方便後人維護。尤其是碰到資料庫匯入匯出、轉換資料庫時。

[jocosn 在 2005-5-24 05:01 AM 作了最後編輯]


劭鵬

 發表於 2005-5-22 10:17 PM

那如果我要將 @createdate 減 1個月 的話要怎麼寫呢?又不能直接將 '2005/05' -1 會有錯誤訊息 " varchar 數值 '2005/05' 轉換成資料型別為 int 的資料行語法錯誤。"


Vic

 發表於 2005-5-22 09:31 PM

那就是

select seqno, amount from copf021 where createdate => '2004/04'

試試


劭鵬

 發表於 2005-5-21 11:34 PM

不好意思...因為我描述得不是很清楚...所以好像讓你們誤解了我的意思...

我想問的問題是要如何撈出現在這個月份以及前12個月份(共13個月)每天的Amount...table設計如下圖



[劭鵬 在 2005-5-21 11:36 PM 作了最後編輯]


Vic

 發表於 2005-5-21 11:22 PM

Amount 是每天的amount, 還是以月計算? 因為你說是要"5月份每天的金額", 後來又是"5月份之前12個月的金額", 所以到底是以月, 還是以日來計算?

如果createdate='2005/05', 你可以試比較大小. 如select amount from copf021 where createdate => '2004/05'

不過以上只為猜測~ 如果可以的話, 將整個table的說明po一下~ 這樣比較好給意見~


jocosn

 發表於 2005-5-21 10:36 PM

你的資料庫是哪一種的?
Oracle?  Sql Server 2000? MySQL?
每家支援的語法有差異。
而且"問題就是要如何撈出5月份之前12個月的金額呢?"
可是看語法好像不速這樣。


劭鵬

 發表於 2005-5-21 02:27 PM

不好意思...貼在這個版不知道對不對...如果貼錯地方了...還煩請熊大移版!

以下便是小弟想請問各位大大的問題...

@createdate 這個參數的值為 '2005/05',因為要撈出這個月份每天的金額,問題就是要如何撈出這個月份包含前12個月(共13個月)每天的金額呢?如何將 @createdate 這個參數的值變為 '2005/04'、'2005/03'、'2005/02'...

SELECT       
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/01') AS V001,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/02') AS V002,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/03') AS V003,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/04') AS V004,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/05') AS V005,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/06') AS V006,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/07') AS V007,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/08') AS V008,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/09') AS V009,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/10') AS V010,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/11') AS V011,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/12') AS V012,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/13') AS V013,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/14') AS V014,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/15') AS V015,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/16') AS V016,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/17') AS V017,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/18') AS V018,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/19') AS V019,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/20') AS V020,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/21') AS V021,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/22') AS V022,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/23') AS V023,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/24') AS V024,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/25') AS V025,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/26') AS V026,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/27') AS V027,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/28') AS V028,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/29') AS V029,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/30') AS V030,
        (SELECT a.Amount FROM copf021 a WHERE a.createdate = @createdate + '/31') AS V031

[劭鵬 在 2005-5-21 11:28 PM 作了最後編輯]





所在時區為 GMT+8, 現在時間是 2024-11-22 05:29 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.019041 second(s), 6 queries , Qzip disabled