2010-12-03 76 views
1

好傢伙遺憾地與一個可怕的問題又來打擾串連日期變量MDX

我有以下MDX和我需要格式化的日期YYYYMMDD,但我有麻煩的,因爲無論我那句如何,它不會彙編存儲過程,或者如果它產生的mdx是不好的。

繼承人的代碼,我到目前爲止,使用SQLSERVER 2000

set @CONSULTA = 'select [' +CONVERT(VARCHAR(8), @fecha, 112)+ '] AS [' +YYYYMMDD+ '], A.* 
    from (SELECT 
    isnull(CAST("[Measures].[Cajas Dia]" As float(18,6)),2) As cajas_dia, 
    isnull(CAST("[Measures].[P Redondeadas]" As int),2) As pz_redondeo 
      FROM openrowset(''MSOLAP'',''DATASOURCE=XXXX; Initial Catalog=XXXX; User Id=XXX;Password=XXX;'', '+ '''' + @MDX +''''+')) as A 

'

+0

在括號內是否需要包含CONVERT(VARCHAR(8),@fecha,122)? – 2010-12-03 19:42:18

回答

0

我想你想使用的風格,而不是112的122的CONVERT。也不知道爲什麼你的查詢中有方括號。

CONVERT(VARCHAR(8), @fecha, 112) 
+0

自從我連接任何東西以來,我已經很年輕了,我真的無法回想起''' – Enrique 2010-12-03 19:48:56

0

這是你所需要的?

沒有122的風格,我假設你試圖把日期作爲一個字面和別名的列作爲YYYYMMDD

set @CONSULTA = 'select ''' +CONVERT(VARCHAR(8), @fecha, 112)+ ''' AS [YYYYMMDD], A.* 
    from (SELECT 
    isnull(CAST("[Measures].[Cajas Dia]" As float(18,6)),2) As cajas_dia, 
    isnull(CAST("[Measures].[P Redondeadas]" As int),2) As pz_redondeo 
      FROM openrowset(''MSOLAP'',''DATASOURCE=XXXX; Initial Catalog=OLAP_HDZ; User Id=XXX;Password=XXX;'', '+ '''' + @MDX +''''+')) as A' 
+0

對不起,我對關於112式樣的風格犯了一個錯誤,沒有我需要那種格式的日期,例如20101203 – Enrique 2010-12-03 19:48:15