sqlserver截取第一个逗号前的内容

sql server截取第一个逗号前的内容

FineReport wlllllll 发布于 2020-12-3 16:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
指间沙Lv6中级互助
发布于2020-12-3 16:42(编辑于 2020-12-3 17:11)

select left( '我啊啊啊,你,ddd',charindex(',' , '我啊啊啊,你,ddd')-1) as ChangeProductName 

image.png

换成你的字段就可以了。

最佳回答
0
熊猫头Lv6初级互助
发布于2020-12-3 16:38(编辑于 2020-12-3 17:00)

select substring(people,charindex('$',people)+1,len(people)-charindex('$',people)) from tablename

people是字段名,$是指定字符。

 

该语句是获取美元符号  $之后的值。

 

 

select substring(people,0,charindex('$',people)) from tablename;

 

该语句是获取美元符号 $之前的值。


  • 指间沙 指间沙 答案换的很快嘛
    2020-12-03 17:11 
  • 熊猫头 熊猫头 回复 指间沙 压力很大
    2020-12-03 17:12 
最佳回答
0
asanguosha4252Lv5初级互助
发布于2020-12-3 16:56

select  SUBSTRING (字段, 1 , case 

when CHARINDEX ('.' , 字段)-1 >0 then CHARINDEX ('.' , 字段)-1

when CHARINDEX ('.' , 字段)-1 <=0 then 0

end)  from 表名


试试这个把,楼上的看似会报错




  • 指间沙 指间沙 您是我说我的会报错吗
    2020-12-03 17:07 
  • asanguosha4252 asanguosha4252 回复 指间沙 我之前用过,好像 (传递给 LEFT 或 SUBSTRING 函数的长度参数无效),
    2020-12-03 17:09 
  • 指间沙 指间沙 回复 asanguosha4252 你可以跑一下看看。
    2020-12-03 17:10 
  • asanguosha4252 asanguosha4252 回复 指间沙 跑啦。看看有没有问题呢, select left(namepath, charindex(\'.\' , de.namepath)-1 ),namepath from com_t_department;
    2020-12-03 17:15 
最佳回答
0
良月二三Lv5见习互助
发布于2020-12-3 17:10

left(remark,charindex(',',remark)-1)

可以试试看


  • 5关注人数
  • 1324浏览人数
  • 最后回答于:2020-12-3 17:11
    请选择关闭问题的原因
    确定 取消
    返回顶部