记录SQL函数 SUBSTRING_INDEX 函数使用(实战)

SELECT 
  CONCAT(
    SUBSTRING_INDEX(street_name, '街道', 1),
    '街道'
  ) AS short_street_name
FROM your_table_name;

这个SQL查询语句的目标是从street_name字段中提取街道名称,并在其后加上“街道”后缀。如果street_name字段中不包含“街道”,则保持原样。以下是修改后的SQL语句,以满足这个需求:

SELECT 
  CASE 
    WHEN INSTR(street_name, '街道') > 0 THEN
      CONCAT(
        SUBSTRING_INDEX(street_name, '街道', 1),
        '街道'
      )
    ELSE
      street_name
  END AS short_street_name
FROM your_table_name;

这个查询使用了CASE语句来检查street_name中是否包含“街道”。如果包含,它会使用SUBSTRING_INDEX来提取“街道”之前的部分,并加上“街道”后缀。如果不包含,它会直接返回原始的street_name。

在Java中,您可以使用字符串的indexOf方法来查找子字符串的位置,使用substring方法来提取子字符串。以下是Java代码,实现与SQL查询相同的逻辑:

import java.util.ArrayList;
import java.util.List;

public class StreetNameShortener {
    public static void main(String[] args) {
        // 示例数据
        List<String> streetNames = new ArrayList<>();
        streetNames.add("中山南路街道xxxx");
        streetNames.add("和平路");
        streetNames.add("人民东路街道xxxxxx");
        streetNames.add("建设路");

        // 处理街道名称
        List<String> shortStreetNames = new ArrayList<>();
        for (String streetName : streetNames) {
            String shortStreetName = getShortStreetName(streetName);
            shortStreetNames.add(shortStreetName);
        }

        // 打印结果
        for (String shortStreetName : shortStreetNames) {
            System.out.println(shortStreetName);
        }
    }

    private static String getShortStreetName(String streetName) {
        int index = streetName.indexOf("街道");
        if (index > 0) {
            return streetName.substring(0, index) + "街道";
        } else {
            return streetName;
        }
    }
}

在这个示例中,getShortStreetName方法接收一个街道名称,并检查是否包含“街道”。如果包含,它会截取“街道”之前的部分并添加“街道”后缀;如果不包含,它将返回原始街道名称。主方法main创建了一个街道名称列表,并使用getShortStreetName方法处理每个街道名称,最后打印出处理后的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值