我在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;
问题出在第二行的Marketshare列上。StudentsPerCourse和StudentCount都是整数类型。
当在我的Postgresql数据库中使用时,Marketshare列被评估为int类型,而我需要一个float/numeric类型。我在SELECT子句上搜索Postgresql文档并通过谷歌搜索,但没有找到指定数据类型的方法。是否有一种(最好是标准SQL)指定列类型的方式,还是我漏掉了什么?
CAST(0 AS bit) AS BooleanColumn
和CAST('' AS varchar(5000)) AS LooooongStringColumn
。 - Campbeln