SQLServer字符串在实际操作中的注意事项

以下的文章主要向大家描述的是SQL Server 字符串在实际操作中值得我们大家注意的事项的描述,有一张关于新闻数据表 tb_news,该表有字段 news_id int, news_type int,前者是主键,后者是新闻所属栏目ID,现在要求是这样:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、商南网站维护、网站推广。

给定一个SQL Server 字符串a_right,该字符串中包含多个新闻栏目ID值,即news_type,并且存储格式是'b'+news_type+'v',各ID值之间以逗号相隔,

例如:b1v, b2v, b3v……

现在要从新闻表中查询出所有news_type经格式转换为'b'+news_type+'v'后,该格式的新闻栏目被包含在a_right中的新闻,刚

开始写的查询语句如下: 

 
 
 
 
  1. select * from tb_news where charindex('b'+str(news_type)+'v', @a_right) >= 1 

结果执行结果与愿望中的结果大相径庭!

经过反复排查,***终于查出原因所在:SQL Server的str()函数有两个参数:str(express, length),当未指定length时,默认

是转为字符串后,SQL Server 字符串左边保留10个空字符,例如:print 'b'+str(2),则结果为b 2。因此,需要将转化后的字符串去掉空值,

此时可以使用ltrim()函数,例如执行:print 'b'+ltrim(str(2)),结果为b2。

于是将上面的查询语句改为:

 
 
 
 
  1. select * from tb_news where charindex('b'+ltrim(str(news_type))+'v', @a_right) >= 1 

顺利执行!以上的相关内容就是对SQL Server 字符串操作注意点的介绍,望你能有所收获。

上述的相关内容就是对SQL Server 字符串操作注意点的描述,希望会给你带来一些帮助在此方面。

当前标题:SQLServer字符串在实际操作中的注意事项
链接分享:http://www.gawzjz.com/qtweb2/news26/24026.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联