11

我对 Postgresql 上的 SQL 查询有疑问。此 select 子句是数据库讲座中的一个示例:

1 select t.CourseNr, t.StudentsPerCourse, g.StudentCount, 
2        t.StudentsPerCourse/g.StudentCount as Marketshare
3 from (select CourseNr, count(*) as StudentsPerCourse
4       from taking
5       group by CourseNr) t,
6      (select count(*) as StudentCount
7       from Students) g;

问题出在第 2 行的 Marketshare 列。StudentPerCourse 和 StudentCount 都是整数类型。

在我的 Postgresql 数据库上使用它时,Marketshare 列被评估为 int 类型,而我在这里需要一个浮点/数字。通过搜索 SELECT 子句的 Postgresql 文档或谷歌搜索,我没有找到任何方法来指定数据类型。是否有(最好是标准 SQL)方法来指定列类型,或者我在这里遗漏了什么?

4

1 回答 1

10

CAST() 一个或两个源列作为小数/浮点/实数/双精度/等类型。

于 2008-10-09T13:43:30.517 回答