使用SQL字符串反转函数REVERSE巧妙实现lastindexof功能

要实现一个简单的业务:

使用SQL脚本获取字符串‘large/020700/61970b0101.jpg‘ 中的‘61970b0101.jpg‘部分。

先想到的是C#中的lastindexof,但是SQL中没有这个函数,只有charindex函数,只好使用现有资源想办法曲线解决了。

解决思路:

1、使用REVERSE函数将字符串反转

2、使用charindex找到第一个出现‘/‘的位置

3、使用left函数找到‘/‘之前的字符串

4、再次使用REVERSE函数将处理过的字符串反转

具体示例:

DECLARE @Str VARCHAR(50)

SET @Str = ‘large/020700/61970b0101.jpg‘

SET @Str = REVERSE(@Str)

SET @Str = LEFT(@Str,CHARINDEX(‘/‘,@str,0)-1)

SET @Str = REVERSE(@Str)

SELECT @Str

大功告成!

时间: 2024-12-25 17:28:40

使用SQL字符串反转函数REVERSE巧妙实现lastindexof功能的相关文章

SQL字符串处理函数大全

select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了.left()是sql函数.select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据.字符串和表达式执行不同的运算.此类函数作用于CHAR.VARCHAR. BINARY. 和

Sql字符串操作函数

1.去空格函数 (1).LTRIM() 把字符串头部的空格去掉. (2).RTRIM() 把字符串尾部的空格去掉. 2.字符转换函数(1).ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.(2).CHAR()将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL .(3).LOWER()和UPPER()LOWER()将字符串全

SQL字符串处理函数

--字符串长度计算 LEN()--字符串转小写LOWER()--字符串转大写UPPER()--去除字符串左边空格LTRIM()--去除字符串右边空格RTRIM()--返回由重复的空格组成的字符串 SPACE(num)产生的空格的个数 SELECT 'A'+SPACE(2)+'B' -- A B--截取字符串SUBSTRING()--从左侧开始截取字符串LEFT()--从右侧开始截取字符串RIGHT()--字符串替换REPLACE()--字符串反转REVERSE()--删除指定长度的字符串并且用指

SQL字符串转换函数

Ascii()函数 返回字符串表达式最左端字符的ASCII码值 语法格式:ascii(字符表达式) 例:ASCII('A'),ASCII('a'),ASCII(0),ASCII(9) 返回 65 97  48  57 Char()函数 将ASCII码转换为字符 语法格式:char(数值表达式) 若输入的不是0-255之间的ASCII码值,则返回一个null值 Lower() upper() 函数 把字符串全部转换为小写/大写 语法格式:lower(字符表达式)   upper (字符表达式) S

写一个字符串反转函数,实现字符串倒序。

第一种方法: <script type="text/javascript">var str="abcdeg";function demo(str){var str2="";for(var i=0;i<str.length;i++){str2+=str.charAt(str.length-i-1);} document.write(str+"<br />"+str2)}demo(str);</

转载:SQL 字符串操作函数

http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lower('I AM A STUDENT !')select upper('i a

VueJS字符串反转:String.reverse()

HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <

SQL——字符串处理函数

1) ASCII Format:ASCII ( character_expression ) Function:返回表达式最左端字符的ASCII值. eg: select ASCII('abcdef')go Result: 2) CHAR: Format:CHAR ( integer_expression ),integer_expression是介于0~266之间的整数 Function:将ASCII码转换为字符. eg: select CHAR(97)go Result: 3) LEFT F

[C/C++] String Reverse 字符串 反转

#include <iostream> #include <string> #include <algorithm> #include <cstring> inline void STL_Reverse(std::string& str) // 反转string字符串 包装STL的reverse() 可以inline { reverse(str.begin(), str.end()); // STL 反转函数 reverse() 的实现 /* tem