sql语句求详细解释
Updatespringerset内容提要=LEFT(SUBSTRING(内容提要,1,DATALENGTH(内容提要)),PATINDEX('%copyright%',...
Update springer
set 内容提要= LEFT(SUBSTRING(内容提要, 1, DATALENGTH(内容提要)),
PATINDEX('%copyright%', SUBSTRING(内容提要, 1, DATALENGTH(内容提要))))
WHERE (内容提要 LIKE '%copyright%')
我知道他的结果是什么,但是不知道具体的工作原理,希望能一点一点的解答,感谢!! 展开
set 内容提要= LEFT(SUBSTRING(内容提要, 1, DATALENGTH(内容提要)),
PATINDEX('%copyright%', SUBSTRING(内容提要, 1, DATALENGTH(内容提要))))
WHERE (内容提要 LIKE '%copyright%')
我知道他的结果是什么,但是不知道具体的工作原理,希望能一点一点的解答,感谢!! 展开
5个回答
展开全部
这个语句的作用是修改“内容提要”字段的值,具体工作原理,看下面几个函数就可以了:
1,LEFT(str, length)说明:从左开始截取字符串 。left(被截取字段或内容,截取长度);
2,SUBSTRING(str, pos, length)说明:截取字符串。substring(被截取字段或内容,从第几位开始截取,截取长度);
3,DATALENGTH(内容提要):返回“内容提要”的字节数;
4,PATINDEX:返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
1,LEFT(str, length)说明:从左开始截取字符串 。left(被截取字段或内容,截取长度);
2,SUBSTRING(str, pos, length)说明:截取字符串。substring(被截取字段或内容,从第几位开始截取,截取长度);
3,DATALENGTH(内容提要):返回“内容提要”的字节数;
4,PATINDEX:返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确认是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',内容提要)替代。
精简完后,楼主应该可以看懂了吧
其实你只要明白了每一个函数的含义,语句你就明白了。
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',内容提要)替代。
精简完后,楼主应该可以看懂了吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议看一下SQL的基本函数
SUBSTRING,截取字符
PATINDEX,模糊查找,返回索引
DATALENGTH,字符长
LEFT,从左边开始取字符
BTW:不建议用中文做字段名,也不建议在SQL语句中做这么多的预处理
SUBSTRING,截取字符
PATINDEX,模糊查找,返回索引
DATALENGTH,字符长
LEFT,从左边开始取字符
BTW:不建议用中文做字段名,也不建议在SQL语句中做这么多的预处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更新springer表的 内容提要 字段 包含 copyright 的项 为 内容提要 的第二个字符到第一次出现copyright的地方。应该是这样的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询