在將一些 SAS 代碼轉換為 PySpark 的程序中,我們之前在此代碼中的 where 陳述句中使用了一個宏變數。在適應 PySpark 時,我試圖將日期串列傳遞給 where 陳述句,但我不斷收到錯誤。我希望 SQL 代碼從這 3 個月中提取所有資料。任何指標?
month_list = ['202107', '202108', '202109']
sql_query = """ (SELECT *
FROM Table_Blah
WHERE (to_char(DateVariable,'yyyymm') IN '{}')
) as table1""".format(month_list)
uj5u.com熱心網友回復:
將串列作為元組傳遞以獲得正確的 sql 語法:
month_list = ['202107', '202108', '202109']
sql_query = """ (SELECT *
FROM Table_Blah
WHERE (to_char(DateVariable,'yyyymm') IN {})
) as table1""".format(tuple(month_list))
而且你不需要撇號 for in 宣告
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/418186.html
標籤:
