sql 截取字段中空格前的字符

表A列a字段为1234234512345345623456查询显示为abcde1234234512345345623456用取空格的语句实现... 表A 列a
字段为 1234 2345 12345 3456 23456
查询显示为 a b c d e
1234 2345 12345 3456 23456
用取空格的语句实现
展开
 我来答
小兰看动漫
推荐于2018-03-19 · TA获得超过134个赞
知道小有建树答主
回答量:234
采纳率:50%
帮助的人:104万
展开全部
用charindex和substring可以实现截取
顺便说一句,如果你得空格不是固定的,你就得定义一个字符串为"a,b,c,d,e,f.........z"
根据空格个数,获取列明,拼接语句.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何星空090
2020-05-07
知道答主
回答量:13
采纳率:0%
帮助的人:9249
展开全部
用SQL内置函数LEFT()和CHARINDEX()
CHARINDEX(' ',目标字段) -空格在目标字段的位置-(返回数字n)
LEFT(目标字段,CHARINDEX(' ',目标字段)-1) -截取目标字段,从左边开始的n-1各字符
如果目标字段有不存在空格的情况,可以用IIF() 条件:n>0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cygcyg201061ad7
2013-09-12 · TA获得超过1433个赞
知道小有建树答主
回答量:1086
采纳率:58%
帮助的人:542万
展开全部

兄弟思路是这样的主要用的函数

PATINDEX('% %',CC)查找空格所在的位置,然后结合RIGHT 和LEFT函数;层层来取。

具体语句如下:(你的的时候将字段CC换成你的字段,CYG表换成你的表)

SELECT LEFT(CC,PATINDEX('% %',CC)-1) AS A,

LEFT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-1) AS B,

LEFT(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))),

PATINDEX('% %',RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))-1) AS C,

LEFT(RIGHT(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))),LEN(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))-

PATINDEX('% %',RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))),PATINDEX('% %',RIGHT(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))),LEN(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))-

PATINDEX('% %',RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))))-1) AS D,

RIGHT(RIGHT(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))),LEN(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))-

PATINDEX('% %',RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))),

LEN(RIGHT(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))),LEN(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))-

PATINDEX('% %',RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))))-

PATINDEX('% %',RIGHT(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))),LEN(RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))-

PATINDEX('% %',RIGHT(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)),LEN(RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))-

PATINDEX('% %',RIGHT(CC,LEN(CC)-PATINDEX('% %',CC)))))))) AS E

FROM CYG WHERE NOL IN('0001','0002')

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潇湘夜雨话孤独
2013-09-12 · TA获得超过113个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:108万
展开全部
列不就是字段吗
更多追问追答
追问
列是字段  列名为a
追答
题目没看懂啊,bcde也是列?1234是数据?要什么样的效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式