我試圖寫在SQL case語句說,如果2個參數過去那麼做,如果3那麼...是否possble插入一個Python函數到SQL查詢
我試圖用LEN( XYZ)我知道爲什麼我的代碼是錯誤的,但我不知道如何實現這一目標?否則我得寫有那麼緊湊代碼,如果在外面
LocAll = ('RSA','EC','Grahamstown')
"""SELECT *
FROM User_Skills US, User_Profile UP
WHERE US.UserId = UP.UserId
CASE WHEN len{0} = {1} THEN
UP.country = {2}
AND UP.state= {3}
AND UP.city= {4}
""".format(LocAll, 3,LocAll[0],LocAll[1],LocAll[2]))
語句謝謝
正如在我使用{0}的評論中所建議的,並將該函數放在.format中(len(LocAll)....)
"""SELECT *,
CASE WHEN {0} = {1}
THEN
WHERE
US.UserId = UP.UserId AND
UP.country = {2}
AND UP.state= {3}
AND UP.city= {4}
END
FROM User_Skills US, User_Profile UP
""".format(len(LocAll), 3,LocAll[0],LocAll[1],LocAll[2]))
但是我得到一個語法錯誤?
而不是LocAll use,len(LocAll)而不是len {0}使用{0} – PeterRing
什麼是語法錯誤?在 – PeterRing
錯誤語法錯誤或接近 「WHERE」 – red8alice