求一段MYSQL 截取字符串 语句

2025-03-22 20:03:56
推荐回答(2个)
回答(1):

mysql> CREATE TABLE temp123 (
-> val varchar(100)
-> );
Query OK, 0 rows affected (0.09 sec)

mysql> INSERT INTO temp123
-> VALUES ('123||http://localhost:9999/Upload/Images/ask/2011/7/29/129564046197968750.jpg||456')
;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT
-> CONCAT( SUBSTRING_INDEX(val, '||', 1),
-> SUBSTRING_INDEX(val, '||', -1)) AS RESULT
-> FROM
-> temp123;
+--------+
| RESULT |
+--------+
| 123456 |
+--------+
1 row in set (0.00 sec)

回答(2):

declare @a varchar(8000),
@b varchar(8000)
set @a='123||http://localhost:9999/Upload/Images/ask/2011/7/29/129564046197968750.jpg||456'
set @b=SUBSTRING(@a,1,CHARINDEX('||',@a,1)-1)+SUBSTRING(@a,CHARINDEX('||',@a,CHARINDEX('||',@a,1)+2)+2,LEN(@a))
print @b