CHARINDEX截取字段函数用法

QQ83707594 2018-01-16 01:52:29

如图,我想取Chinese description字段最左边的字符,用空格“ ”作为分割符,比如:“推钉杆 件”,就只取“推钉杆”,“活塞 E37”只取“活塞”,若中间有多个空格的,只取第一个空格,后面的不管它,例如:“螺钉 45 3X10”只取“螺钉”
谢谢!

...全文
1098 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25073223 2018-02-26
  • 打赏
  • 举报
回复
请参阅sql server charindex函数的用法,然后试着自己编写 charindex函数获取字符的位置,用法如下所示: http://www.maomao365.com/?p=4591 left函数从左边截取字符至charindex的位置,left函数用法如下: http://www.maomao365.com/?p=4607
zjcxc 2018-01-16
  • 打赏
  • 举报
回复
考虑没有空格时,取整个字符串 LEFT(Chinesedescription, CHARINDEX(' ', Chinesedescription+' ')-1)
小野马1209 2018-01-16
  • 打赏
  • 举报
回复
把里面的换成对应字段就好
select SUBSTRING('推钉杆 件',1,CHARINDEX(' ','推钉杆 件')) as value
听雨停了 2018-01-16
  • 打赏
  • 举报
回复

SELECT LEFT('推钉杆 件 ABC',CHARINDEX(' ','推钉杆 件 ABC')-1)


------
推钉杆

(1 行受影响)
二月十六 2018-01-16
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([Chinesedescription] nvarchar(28))
Insert #T
select N'推钉杆 件' union all
select N'螺钉 45 3X10' union all
select N'测试'
Go
--测试数据结束
SELECT SUBSTRING(Chinesedescription, 1,
CASE WHEN CHARINDEX(' ', Chinesedescription) > 0
THEN CHARINDEX(' ', Chinesedescription)
ELSE LEN(Chinesedescription)
END) AS Chinesedescription
FROM #T


27,579

社区成员

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

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