sql语句求详细解释

Updatespringerset内容提要=LEFT(SUBSTRING(内容提要,1,DATALENGTH(内容提要)),PATINDEX('%copyright%',... Update springer
set 内容提要= LEFT(SUBSTRING(内容提要, 1, DATALENGTH(内容提要)),
PATINDEX('%copyright%', SUBSTRING(内容提要, 1, DATALENGTH(内容提要))))
WHERE (内容提要 LIKE '%copyright%')
我知道他的结果是什么,但是不知道具体的工作原理,希望能一点一点的解答,感谢!!
展开
 我来答
无敌菌君
2014-07-15 · TA获得超过166个赞
知道答主
回答量:66
采纳率:100%
帮助的人:26.5万
展开全部
这个语句的作用是修改“内容提要”字段的值,具体工作原理,看下面几个函数就可以了:
1,LEFT(str, length)说明:从左开始截取字符串 。left(被截取字段或内容,截取长度);
2,SUBSTRING(str, pos, length)说明:截取字符串。substring(被截取字段或内容,从第几位开始截取,截取长度);
3,DATALENGTH(内容提要):返回“内容提要”的字节数;
4,PATINDEX:返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a842d4
2014-07-15 · TA获得超过141个赞
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:84.5万
展开全部
确认是DATALENGTH而不是LEN?
其实你只要明白了每一个函数的含义,语句你就明白了。

DATALENGTH('我123') 返回值是5 函数返回的是字符串的字节数
SUBSTRING('abcdefg',2,3) 返回值是‘bcd’ 截取字符串,从字符串中第2个字符开始,截取长度为3的字符串
LEFT('abcdefg',4) 返回值是‘abcd’ 截取字符串,从左侧第1个字符开始截取长度为4的字符串

PATINDEX 模糊查找第一次出现该模式的位置,稍复杂,其实和CHARINDEX功能一样,只不过CHARINDEX查找指定的字符串,PATINDEX可以加入通配符,简单可以这么理解

语句理解
首先语句可以精简为
Update springer
set 内容提要= LEFT(内容提要,PATINDEX('%copyright%',内容提要))
WHERE (内容提要 LIKE '%copyright%')
本人实在是没看出来SUBSTRING(内容提要, 1, DATALENGTH(内容提要))和 内容提要 本身有什么区别(如果不同,请赐教,真心没看出来)
其实PATINDEX('%copyright%',内容提要)也完全可以用CHARINDEX('copyright',内容提要)替代。
精简完后,楼主应该可以看懂了吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xupeng47
2014-07-15
知道答主
回答量:16
采纳率:0%
帮助的人:9.4万
展开全部
建议看一下SQL的基本函数
SUBSTRING,截取字符
PATINDEX,模糊查找,返回索引

DATALENGTH,字符长

LEFT,从左边开始取字符

BTW:不建议用中文做字段名,也不建议在SQL语句中做这么多的预处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丘镶菱0S
2014-07-15 · 超过31用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:70.5万
展开全部
更新springer表的 内容提要 字段 包含 copyright 的项 为 内容提要 的第二个字符到第一次出现copyright的地方。应该是这样的。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大葵绽放满风光
2014-07-15
知道答主
回答量:49
采纳率:0%
帮助的人:19.7万
展开全部
对同一个表里面内容的嵌套
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式