簡體   English   中英

SQLAlchemy中與數據庫無關的to_char函數

[英]Database-Independent to_char Function in SQLAlchemy

我正在使用SQLAlchemy來創建與數據庫無關的查詢。

我正面臨着to_char函數的一個問題。

考慮簡單的查詢,如:

select to_char(id,'999') from xyz 

它正在使用Postgres,但MySQL不支持它。

如何使用SQLAlchemy使此查詢與數據庫無關?

使用CAST函數進行簡單類型轉換。 它是SQL標准,SQLAlchemy直接通過cast()函數支持它: http ://www.sqlalchemy.org/docs/05/reference/sqlalchemy/expressions.html?highlight=cast#sqlalchemy.sql.expression.cast。

對於日期值,SQLA有一個extract()函數,用於生成SQL EXTRACT函數 - 轉換層將常用字段名稱(如“月”,“日”,“分鍾”等)轉換為正在使用的后端的相應關鍵字。

例如,使用強制轉換功能

cast(numberfield as char)

您正在尋找MySQL中的format

select format(id, '999') from xyz

回答你的一對一問題:沒有跨數據庫的方法來做到這一點。 每個RDBMS都是非常不同的,並且在相當簡單的查詢之后沒有真正的標准化。 對於字符串操作尤其如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM