当前位置: 首页 > news >正文

北京昆仑数智-sql学习笔记

CAST(a.ANAL_COY AS VARCHAR(1000))
  • 原来a.ANAL_COY可能是:
    • 数字(NUMBER / INT)
    • 或较短字符串
    • 或 CLOB / TEXT
  • 现在统一变成:
    • VARCHAR(1000)(最多1000字符的字符串)

AS ANAL_COY是什么?

只是改回原字段名(保证输出字段名不变)

a.TEST_WATER_ID AS SOURCE_DATA_ID

原字段新字段
TEST_WATER_ID

SOURCE_DATA_ID

'MC' AS DATA_REGION

表示:每一行数据都固定是 MC

6.29

SELECT MD5(CONCAT(IFNULL(NULLIF(TRIM(T.OIL_ASSAY_ID), ''), 'UNKNOWN'), '_ANLS')) AS PRODUCT_OIL_ANLS_ID, MD5(CONCAT(IFNULL(NULLIF(TRIM(T.OIL_ASSAY_ID), ''), 'UNKNOWN'))) AS SAMPLE_SERIAL_ID, MD5(CONCAT(IFNULL(NULLIF(TRIM(T.OIL_ASSAY_ID), ''), 'UNKNOWN'), '_PROJ')) AS ANALYSIS_PROJ_ID, IFNULL(NULLIF(TRIM(T.STATION_ID), ''), 'UNKNOWN') AS SAMPLE_SOURCE_ID, '玉门油田' AS SAMPLE_SOURCE_TYPE, NULL AS SULPHATED_ASH, CAST(T.WATER_CONTENT AS DECIMAL(38,4)) AS WATER_CONTENT, NULL AS KINEMATIC_VISCOSITY_40, NULL AS KINEMATIC_VISCOSITY_100, NULL AS RESIDUAL_CARBON, NULL AS OPEN_FLASH_POINT, NULL AS POUR_POINT, CAST(T.MECHANICAL_IMPURITY AS VARCHAR) AS MECHANICAL_IMPURITY, CAST(T.ACID_VALUE AS DECIMAL(38,4)) AS ACID_VALUE, NULL AS VISCOSITY_INDEX, NULL AS APPEARANCE, NULL AS MECHANICAL_IMPURITY_RESULTS, NULL AS CLOSED_FLASH_POINT, NULLIF(TRIM(T.REMARKS), '') AS REMARKS, NULLIF(TRIM(T.CREATE_APP_ID), '') AS CREATE_APP_ID, 'og_app_oil_assay' AS CREATE_USER_ID, IFNULL(STR_TO_DATE(NULLIF(TRIM(T.CREATE_DATE), ''), '%Y-%m-%dT%H:%i:%s'), NOW()) AS CREATE_DATE, 'EPN_YM' AS UPDATE_USER_ID, NOW() AS UPDATE_DATE, STR_TO_DATE(NULLIF(TRIM(T.CHECK_DATE), ''), '%Y-%m-%dT%H:%i:%s') AS CHECK_DATE, NULLIF(TRIM(T.CHECK_USER_ID), '') AS CHECK_USER_ID, NULL AS UNIFY_TASK_ID, 'YM' AS DATA_SOURCE, NULLIF(TRIM(T.OIL_ASSAY_ID), '') AS SOURCE_DATA_ID, 'YM' AS DATA_REGION, 1 AS BSFLAG, 0 AS GOV_QC_STATUS, NULL AS GOV_QC_DATE, 0 AS GOV_PASS_STATUS, NULL AS GOV_PASS_DATE, 0 AS GOV_PUSH_STATUS, NULL AS GOV_QC_BATCH_ID, NULL AS SHARE_PUSH_DATE, IFNULL(STR_TO_DATE(NULLIF(TRIM(T.CREATE_DATE), ''), '%Y-%m-%dT%H:%i:%s'), NOW()) AS SOURCE_CREATE_DATE, NULLIF(TRIM(T.SOURCE_LOCATION), '') AS SOURCE_LOCATION, NULLIF(TRIM(T.IS_ABNORMAL), '') AS IS_ABNORMAL, NULLIF(TRIM(T.CHLORIDE_CONTENT), '') AS CHLORIDE_CONTENT, CAST(T.VAPOR_PRESSURE AS DECIMAL(20,4)) AS VAPOR_PRESSURE, CAST(T.DENSITY AS DECIMAL(20,4)) AS DENSITY, CAST(T.SULFUR_CONTENT AS DECIMAL(20,6)) AS SULFUR_CONTENT, CAST(T.SALT_CONTENT AS DECIMAL(20,4)) AS SALT_CONTENT FROM og_app_oil_assay T

6.29.1

MD5(CONCAT(IFNULL( NULLIF(TRIM(T.OIL_ASSAY_ID), '') , 'UNKNOWN'), '_ANLS')) AS PRODUCT_OIL_ANLS_ID
TRIM(T.OIL_ASSAY_ID)

去掉前后空格

NULLIF(TRIM(...), '')

如果结果是空字符串'',转成NULL

IFNULL(..., 'UNKNOWN')

如果是 NULL,则替换为'UNKNOWN'

CONCAT(处理后的ID, '_ANLS')

在ID后面加上固定字符串_ANLS

MD5(...)

对拼接后的字符串做 MD5加密(哈希化)

作用:

(1)生成固定长度ID

  • 输出 32位字符串
  • 统一格式,适合数仓主键

(2)不可逆

  • 无法从 MD5 反推原始 ID
  • 适合脱敏/中间层建模

(3)避免重复/冲突风险(工程习惯)

  • 统一主键风格

6.29.2

CAST(... AS DECIMAL(38,4))

DECIMAL(38,4)表示一个定点数类型

  • 总长度:38 位数字(精度 precision)
  • 小数位:4 位(scale)

6.29.3

STR_TO_DATE(NULLIF(TRIM(T.CHECK_DATE), ''), '%Y-%m-%dT%H:%i:%s') AS CHECK_DATE
STR_TO_DATE(字符串, 格式)

作用:

按指定格式,把字符串解析成 DATETIME

6.29.4 NULLIF和IFNULL有区别吗

  • NULLIF:把某个值“变成 NULL”
  • IFNULL:把 NULL “替换成某个值”
http://www.jsqmd.com/news/1098953/

相关文章:

  • 爬虫去重别只会用Set!Python实现亿级数据清洗的4种工业级方案
  • 【VMware OVF导出终极指南】:20年资深架构师亲授5大避坑要点与3种加速导出实战技巧
  • 【数字孪生国标落地第一个月,我给新能源行业测了测段位】
  • 主流开源LLM(Qwen、ChatGLM等)的本地化部署
  • 验厂时,食品工作服需要注意什么?
  • GoalFlow:四、轨迹评分筛选模块(Trajectory Scorer, M3)
  • ps怎么调整图片大小?ps调整图片大小快捷键
  • 虚拟摇杆vJoy:Windows游戏控制器模拟的技术深度解析
  • 查新报告分为哪几种?科技查新、查收查引与专利查新区别
  • 基于 VC++ 与机器人 SDK 的工业多轴示教器软件设计与实现
  • 驾驶行为识别 打电话识别数据集 驾驶注意力监控 驾驶分心识别数据集 危险驾驶行为检测 抽烟打电话 睡觉 吃东西识别图像数据集第10149期
  • Metasploit渗透测试实战:从漏洞利用到后渗透操作详解
  • 车的使用年限,从来不是出厂定的!
  • OpenClaw排坑实录:启动失败、技能失效、模型报错,30个高频问题一次讲透
  • 解决方案|腾讯安全天御金融反电诈产品解决方案
  • 【LeetCode Hot100】189.轮转数组-三种解法以及效果评估
  • 搞定99%安装问题!OpenClaw 完整部署与故障修复
  • G-Helper终极指南:重新定义华硕笔记本硬件控制的轻量级革命
  • 模块 包 循环导入 系统
  • 3PEAK思瑞浦 TPA133A2-VS1R-S MSOP8 电流信号检测放大器
  • AI4C编译调优的终极技巧:提升程序性能30%的秘密
  • NCM音乐格式转换终极指南:5分钟解锁你的音乐收藏
  • Mineradio开源音乐播放器下载安装介绍(附下载链接)
  • 为什么好人没好报?你可能误解了“诚信”
  • 【会议征稿通知 | 西藏大学主办 | JPCS出版 | EI 、Scopus稳定检索】2026年水电系统与能源工程学术会议 (HSEE 2026)
  • 智慧矿场施工状态监测 推土机识别 装载机数据集 挖掘机等工程机械数据集第10096期
  • 实测有效|OpenClaw 闪退卡顿、网关异常根治教程
  • lac_agent自愈链路上篇——crontab守护的那些坑与健康检查实战
  • 计算机毕业设计之基于实训室管理平台的设计与实现
  • 逻辑回归(Logistic Regression)培训课件