SQL语句如何取出一个字段中值

2025-03-03 04:16:50
推荐回答(4个)
回答1:

正常用select语句即可。

如表test中

id   name

1     张三

2     李四


现在要求取出name中张三这两个字,可以使用如下语句:

select name from test where id=1;

select name from test where name='张三';

回答2:

oracle用substr(原字符串,起始位置,[截取长度])和instr(原字符串,查找字符串,[起始位置],[第n个])函数,[]内的是可选参数
mysql用substring和instr()函数
大概思路是截取原字符串,从(开始,到)结束,
用instr定位(和),用substr截取
比如原字符串在变量str中
以oracle为例:substr(str,instr(str,'('),instr(str,')')-instr(str,'('))

回答3:

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

回答4:

sqlserver:

SELECT substring(col1,CHARINDEX('(', col1) +1,CHARINDEX(')', col1) -CHARINDEX('(', col1)-1)
FROM table