SQL 删除指定字符前的字符串

oiph 2019-11-16 03:32:01
我有一张表(表名:BML),其中有列(列名:旅馆电话)

列中有的包含有字符‘-’,想在原表中删除-及其左侧的字符串,求语句。


目前列中数据如下:
******************
0872-2313888
0871-6223344
南京-城市
119
*****************

想在原表中达成以下效果

**********
2313888
6223344
城市
119
***********

谢谢大神!
...全文
288 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
oiph 2019-11-16
  • 打赏
  • 举报
回复
多谢两位大神!周末愉快!
二月十六 2019-11-16
  • 打赏
  • 举报
回复
引用 7 楼 oiph 的回复:
[quote=引用 6 楼 二月十六 的回复:] [quote=引用 5 楼 oiph 的回复:]你好! 运行语句时,出现错误提示:charingdex不是可以识别的内置函数名称。 另,我主要是想求原表中删除的语句,此语句是查看语句。 谢谢!
这个提示是你自己把函数名弄错了吧,你看是charindex不是charingdex[/quote] 是的,我写错了。可以行动,谢谢!![/quote]记得结帖哦
oiph 2019-11-16
  • 打赏
  • 举报
回复
引用 6 楼 二月十六 的回复:
[quote=引用 5 楼 oiph 的回复:]你好! 运行语句时,出现错误提示:charingdex不是可以识别的内置函数名称。 另,我主要是想求原表中删除的语句,此语句是查看语句。 谢谢!
这个提示是你自己把函数名弄错了吧,你看是charindex不是charingdex[/quote] 是的,我写错了。可以行动,谢谢!!
二月十六 2019-11-16
  • 打赏
  • 举报
回复
引用 5 楼 oiph 的回复:
你好! 运行语句时,出现错误提示:charingdex不是可以识别的内置函数名称。 另,我主要是想求原表中删除的语句,此语句是查看语句。 谢谢!
这个提示是你自己把函数名弄错了吧,你看是charindex不是charingdex
oiph 2019-11-16
  • 打赏
  • 举报
回复
你好! 运行语句时,出现错误提示:charingdex不是可以识别的内置函数名称。 另,我主要是想求原表中删除的语句,此语句是查看语句。 谢谢!
oiph 2019-11-16
  • 打赏
  • 举报
回复
引用 2 楼 独木成林_ 的回复:

---我之前寫過,現在拿給你參考一下

Select SUBSTRING(字段,CHARINDEX('-',字段)+1,6) From 表

你好!可以运行,是查看语句,请问能改成原表中删除的语句吗?谢谢!
二月十六 2019-11-16
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#BML') is null
drop table #BML
Go
Create table #BML([旅馆电话] nvarchar(32))
Insert #BML
select N'0872-2313888' union all
select N'0871-6223344' union all
select N'南京-城市' union all
select N'119'
Go
--测试数据结束
SELECT RIGHT(旅馆电话, LEN(旅馆电话) - CHARINDEX('-', 旅馆电话)) AS 旅馆电话
FROM #BML;


独木成林_ 2019-11-16
  • 打赏
  • 举报
回复

---我之前寫過,現在拿給你參考一下

Select SUBSTRING(字段,CHARINDEX('-',字段)+1,6) From 表

oiph 2019-11-16
  • 打赏
  • 举报
回复
补充一下:试过运行以下语句,运行出错,提示:‘instr'不是可以识别的内置函数名称。 update BML set 旅馆电话= substr(旅馆电话,instr(旅馆电话,'-')+1,length(旅馆电话)) where 旅馆电话 like ‘%-%';

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧