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

如何在SQL查询中替换指定主机名并删除.SERVIZI.INPS后缀?

在SQL查询中同时实现特定主机名替换与后缀删除

当然可以在同一查询里完成这两个操作,只需要在SELECT子句中嵌套字符串处理逻辑即可。修改后的SQL语句如下:

SELECT DISTINCT
    REPLACE(
        CASE 
            WHEN upper("Local_Hostname_U") = 'EAP-WEBSERVICES.WEB.INPS' 
            THEN 'WEBINPS59' 
            ELSE upper("Local_Hostname_U") 
        END,
        '.SERVIZI.INPS',
        ''
    ) AS Cleaned_Hostname
FROM "Services_Inventory_610"
WHERE 
    CASE
        WHEN "TMZDIFF"=-3600 THEN  ("Interval_Begin_Time">=1230110230000000 AND "Interval_Begin_Time"<1230111230000000)
        WHEN "TMZDIFF"=-7200 THEN  ("Interval_Begin_Time">=12301100000000 AND "Interval_Begin_Time"<1230110230000000)
    END
ORDER BY Cleaned_Hostname;

逻辑说明:

  1. 特定主机名替换:通过CASE语句匹配大写后的Local_Hostname_U字段,当值为EAP-WEBSERVICES.WEB.INPS时,直接替换为WEBINPS59,其他值保持原大写形式。
  2. 后缀删除:用REPLACE函数将第一步处理后的结果中所有.SERVIZI.INPS字符串替换为空,实现后缀删除。
  3. 保留原查询的DISTINCT去重、WHERE条件过滤和排序逻辑。

处理后的预期结果:

  • CUSTMON03
  • WEBINPS59
  • JAVAZAPPWS-P01
  • JAVAZAPPWS-P02
  • JAVAZAPPWS-P03
  • JAVAZAPPWS-P04
  • JAVAZAPPWS-P05
  • JAVAZAPPWS-P06
  • JAVAZAPPWS-P07
  • JAVAZAPPWS-P08
  • LHEWBSWAS01
  • LHEWBSWAS02
  • LHEWBSWAS03
  • LHEWBSWAS04
  • LHEWBSWAS05
  • LHEWBSWAS06
  • LHEWBSWAS07
  • LHEWBSWAS08
  • LHEWBSWAS09
  • LHEWBSWAS10
  • LHEWBSWAS11
  • LHEWBSWAS12
  • WEBINPS120
  • WEBINPS52
  • WEBINPS53
  • WEBINPS54
  • WEBINPS55
  • WEBINPS56
  • WEBINPS58
  • WEBINPS62

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:15:31