where语句后去括号内容

有一列名name

数据为

zhang(23)

yang(24)

最后写sql的时候我只想要除括号以外的内容,就是zhang,yang,这种sql怎么写

where name in("zhang","yang"),最后查询语句变成这样

FineReport 佩里 发布于 2021-9-7 14:18 (编辑于 2021-9-7 14:18)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
Rose_RubyLv6初级互助
发布于2021-9-7 14:23(编辑于 2021-9-7 14:30)

SELECT

SUBSTRING_INDEX( NAME, "(", 1 ) name1,

NAME 

FROM

`table_name` 

WHERE

SUBSTRING_INDEX( NAME, "(", 1 ) IN (

"zhang",

"yang")

image.png

  • 佩里 佩里(提问者) 谢谢回复
    2021-09-07 14:39 
  • 佩里 佩里(提问者) 在问一下,如果数据是这种 zhang(na),yang(adf),这是一列数据 sql查询结果要为为 zhang,yang 这样能写吗
    2021-09-07 14:47 
  • Rose_Ruby Rose_Ruby 回复 佩里(提问者) SUBSTRING_INDEX 百度了解下这个函数 substring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:计数
    2021-09-07 14:50 
  • 佩里 佩里(提问者) 回复 Rose_Ruby 好的,谢谢
    2021-09-07 14:54 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-9-7 14:19

where name  not in("zhang","yang")

最佳回答
0
shirokoLv6资深互助
发布于2021-9-7 14:20

支持正则表达式的话用正则替换,比如oracle:

where regexp_replace(name,'\([0-9]+\)','')  in ("zhnag","yang")

最佳回答
0
YCLv4见习互助
发布于2021-9-7 14:26

WHERE SUBSTRING(name,1,CHARINDEX('(',name)-1) IN ("zhang","yang")image.png

最佳回答
0
LSQ000Lv5中级互助
发布于2021-9-7 14:28
where substr(name,0,instr(name,'(')-1) in("zhang","yang")

  • 6关注人数
  • 572浏览人数
  • 最后回答于:2021-9-7 14:30
    请选择关闭问题的原因
    确定 取消
    返回顶部