我有以下僞查詢如何將SQL cast`轉換爲Ecto DSL?
SELECT * FROM dummy_table
ORDER BY CAST(number_in_string AS DECIMAL)
怎麼寫,在外生?
我有以下僞查詢如何將SQL cast`轉換爲Ecto DSL?
SELECT * FROM dummy_table
ORDER BY CAST(number_in_string AS DECIMAL)
怎麼寫,在外生?
您可以order_by
這樣一個片段:
fragment("CAST(? as DECIMAL)", dt.number_in_string)
from(p in Post, order_by: [asc: fragment("CAST(? as DECIMAL)", p.id)])
生成以下查詢:。
SELECT P0 「ID」,P0 「稱號」,P0「USER_ID 「p0。」inserted_at「,p0。」updated_at「FROM」posts「AS p0 ORDER BY CAST(p0。」id「as DECIMAL)
You可以使用type/2
。
from u in User, where: u.id == type(^"5", :integer)
即生成以下查詢
SELECT U0。 「ID」,U0。 「FIRST_NAME」,U0。 「姓氏」,U0。 「電子郵件」,U0。 「encrypted_password」,U0 「inserted_at」,u0。「updated_at」FROM「users」AS u0 WHERE(u0。「id」= $ 1 :: integer)[5]