sql
  • excel
  • stored-procedures
  • powerquery
  • 2017-04-05 63 views 0 likes 
    0

    我想調用一個存儲過程與可空的日期時間值,但我正在用這個循環運行。下面你可以看到我已經嘗試了所有組合和相關的錯誤:電力查詢M字符串datetime轉換

    FromDate = Excel.CurrentWorkbook(){[Name="FromDate"]}[Content]{0}[Column1], 
    FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& DateTime.From(FromDate)&"',", 
    
    Expression.Error: We cannot apply operator & to types Text and DateTime. 
    Details: 
        Operator=& 
        [email protected] = ' 
        Right=15/03/2017 00:00:00 
    

    如果我按照說明並刪除&的建議,我得到以下幾點: Expression.SyntaxError:令牌逗號預期。

    嘗試過將其通過作爲字符串:

    FromDate = Excel.CurrentWorkbook(){[Name="FromDate"]}[Content]{0}[Column1], 
    FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& Text.From(FromDate) &"',", 
    

    消息=誤差變換數據類型爲varchar到日期時間。

    查詢:

    [Query="EXECUTE dbo.bsp_GetReport 
    "& UserQuery &" 
    "& FromDateQuery &"] 
    

    使用CAST和CONVERT一切都是徒勞...

    回答

    1

    您可以使用DateTime.ToText與要求的格式,例如也試過

    FromDateQuery = if FromDate = "" then "" else "@FromDate = '"& DateTime.ToText(DateTime.From(FromDate), "dd/MM/yyyy HH:mm:ss")&"',", 
    
    +0

    謝謝您的回覆,這也將返回:「錯誤轉換數據類型爲varchar到日期時間。」我要更新我的原始問題,詳細說明我如何調用存儲過程 –

    +0

    我不知道爲什麼,但在將日期格式換成yyyy/MM/dd後HH:mm:ss工作正常。 (僅供參考,我沒有在任何地方使用此格式) –

    +0

    該錯誤來自SQL數據庫。您需要使用數據庫可以理解的日期時間格式。 –

    相關問題