如何将一年映射到一个整数?
我可以将一个从postgresql数据库中的日期提取的年份映射到C#int。如何将一年映射到一个整数?
select extract(year from current_date) "Year";
我收到以下错误:Can't cast database type float8 to Int32
。
我怎么能检索一年的整数,因为它应该自然做?根据PostgreSQL的
select extract(year from current_date)::integer "Year";
我明白'解压缩(从时间戳字段)'返回一个双,问题是如何检索一个int映射,而不是如何做一个演员 – sinsedrix
你的问题似乎暗示你期望一个int返回而不是一个双。提取函数的结果需要在某个时刻将转换(转换)为整数,因此您需要知道如何进行转换 - 您需要清楚地询问您的问题。这个答案给了你三个可行的选择,所以不值得赞赏。还有第四个选项更符合标准SQL - 选择CAST(提取(current_date年)AS整数)“Year”; _ https://www.postgresql.org/docs/8.0/static/sql-expressions。 HTML#SQL-SYNTAX-TYPE-铸件 – PaulF
你在C#代码或直接从查询中得到这个错误吗? – Steve
@Steve我在映射时在C#端得到错误 – sinsedrix
文档状态_“提取函数返回类型为double precision的值”_ https://www.postgresql.org/docs/8.0/static/functions-datetime .html#FUNCTIONS-DATETIME-EXTRACT – PaulF