You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle数据库SQL查询:将温度、降雨量转换为公制单位展示

Oracle 城市月度温湿度单位转换查询方案

单位转换逻辑(常见场景)

先明确最常用的单位转换公式,你可以根据实际原始单位调整:

  • 温度:若原始单位是华氏度(°F),转摄氏度(°C)的公式为:(temperature - 32) * 5 / 9
  • 降雨量:若原始单位是毫米(mm),转厘米(cm)的公式为:rainfall / 10

假设表结构

基于常见气象数据结构做合理假设(你可根据实际表字段调整):

  • station表:存储站点与城市对应关系,包含station_id(站点ID)、city_name(城市名称)
  • stats表:存储月度气象统计,包含station_id(关联站点)、record_month(统计月份,DATE类型)、temperature(原始温度)、rainfall(原始降雨量)

最终查询语句

SELECT
    s.city_name AS 城市名称,
    TO_CHAR(st.record_month, 'YYYY-MM') AS 统计月份,
    -- 华氏转摄氏,保留2位小数
    ROUND((st.temperature - 32) * 5 / 9, 2) AS 温度_摄氏度,
    -- 毫米转厘米,保留2位小数
    ROUND(st.rainfall / 10, 2) AS 降雨量_厘米
FROM
    station s
INNER JOIN
    stats st ON s.station_id = st.station_id
-- 按城市和月份排序,方便查看
ORDER BY
    s.city_name,
    TO_CHAR(st.record_month, 'YYYY-MM');

关键说明

  1. 表关联:用INNER JOIN通过station_id把城市名称和对应气象数据关联,确保每个统计数据都能匹配到所属城市
  2. 月份格式化:TO_CHAR(st.record_month, 'YYYY-MM')将日期类型的月份转换成易读的年月字符串
  3. 数值格式化:ROUND(..., 2)对转换后的数值保留2位小数,避免过多小数位影响可读性
  4. 单位适配:如果原始温度/降雨量单位不是华氏/毫米,直接替换公式即可。比如开尔文转摄氏用temperature - 273.15,英寸转厘米用rainfall * 2.54

内容的提问来源于stack exchange,提问作者shubham gautam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:35:49