正常用select语句即可。
如表test中
id name
1 张三
2 李四
现在要求取出name中张三这两个字,可以使用如下语句:
select name from test where id=1;
或
select name from test where name='张三';
oracle用substr(原字符串,起始位置,[截取长度])和instr(原字符串,查找字符串,[起始位置],[第n个])函数,[]内的是可选参数
mysql用substring和instr()函数
大概思路是截取原字符串,从(开始,到)结束,
用instr定位(和),用substr截取
比如原字符串在变量str中
以oracle为例:substr(str,instr(str,'('),instr(str,')')-instr(str,'('))
DECLARE @table table (
c1 nvarchar(50)
)
INSERT INTO @table (c1) VALUES ('ds(dDETddAIL_TYPEd41)rt')
INSERT INTO @table (c1) VALUES ('yhjds(DETddAILsdfs_TYPEd41)sdfsdf')
SELECT c1 AS [Text],
[Start], [End], ([End] - [Start]) AS [Length],
SUBSTRING(c1, [Start], [End] - [Start]) AS [Result]
FROM (
SELECT c1,
CHARINDEX('(', c1) + 1 AS [Start],
CHARINDEX(')', c1) AS [End]
FROM @table
) AS tab
sqlserver:
SELECT substring(col1,CHARINDEX('(', col1) +1,CHARINDEX(')', col1) -CHARINDEX('(', col1)-1)
FROM table