SQL字符串截取(SubString)

函数:

SubString(string, int, int)作用: 返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。


例子:

调用以下函数返回“234”:

SubString("12345",2,3) 调用以下函数返回“2345”:

SubString("12345",2)

详细参考:http://msdn.microsoft.com/zh-cn/library/ms256054(VS.80).aspx

### SQL 字符串截取方法 在 SQL 中,可以使用多种函数来实现字符串截取操作。常见的函数有 `SUBSTR` 和 `SUBSTRING`。 #### 使用 SUBSTR 函数 `SUBSTR` 是一种常用的字符串截取函数,在不同数据库系统中有相似的功能: - **从特定位置开始截取到结尾** 表达式 `substr(column, start)` 可用于从指定起始位置开始直到字符串结束的位置进行截取[^1]。 - **从字符串末尾向前计数并截取** 当第二个参数为负数时,则是从字符串末端向左计算字符索引位,并从此处开始截取;如果省略长度参数则默认会一直读到最后一位[^4]。 例如: ```sql SELECT office_name, SUBSTR(office_name, -1) AS last_char -- 获取最后一个字符 FROM database.table; ``` #### 使用 SUBSTRING 函数 对于更复杂的场景下可能需要用到带有三个参数形式的 `SUBSTRING` 函数: - **指定起始位置和长度** `SUBSTRING(string_expression ,start_position, length)` 这里指定了要提取子串的具体起点以及所需获取多少个连续字符[^3]. 实例演示如下所示: ```sql -- 假设 name='example' SELECT SUBSTRING(name, 5, 3); -- 返回 'mpl' (即从第5个字符开始后的3个) ``` 另外还有一种特殊情况是当需要去除某个字段最后几个字符的情况时可以用下面的方式处理[^2]: ```sql SELECT SUBSTR(name, 1, LENGTH(name)-3); ``` 此命令将会返回除去原字符串最右边三个字母之外的部分。 #### 特殊情况下的 SUBSTRING_INDEX 函数 除了上述两种基本方式外,还有专门针对分隔符分割字符串的需求而设计出来的 `SUBSTRING_INDEX()` 函数可用于按给定分隔符拆分字符串,并选取其中某一部分作为结果输出[^5]: ```sql SELECT substring_index(profile, ',', -1), substring_index(profile, ',', -2), substring_index(profile, ',', 1), substring_index(profile, ',', 2) FROM user_submit; ``` 该查询将分别取出 profile 列中由逗号分隔开来的最后一项、倒数第二项、第一项及前两项的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值