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

数据库 SQL Server
我们今天主要与大家一起分享的是SQL Server 字符串在实际操作中值得我们大家注意的一些相关事项,以下就是文章的主要内容描述。

以下的文章主要向大家描述的是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 字符串操作注意点

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

原文标题:SQL Server 字符串操作注意点

连接:http://www.cnblogs.com/pricks/archive/2010/04/02/1703292.html

【编辑推荐】

  1. 详解SQL Server 2008复制分区清理数据
  2. 微软将改变对SQL Server 2008 R2的虚拟化授权策略
  3. Oracle数据库索引和SQL Server的阐述
  4. 了解tempdb对SQL Server数据库性能的影响
  5. SQL Server负载均衡简析
责任编辑:佚名 来源: 博客园
相关推荐

2009-10-30 10:05:48

双线接入

2010-06-17 16:38:14

MS SQL Serv

2010-08-03 17:00:29

DB2 batch u

2010-07-22 14:38:17

2010-07-30 10:11:05

DB2临时表

2010-06-13 15:52:36

MySQL 复制设置

2010-03-16 10:58:35

Python字符串

2010-03-16 16:22:36

Python字符串

2010-06-07 09:33:54

JIRA+MySQL配

2010-06-07 16:36:29

MySQL连接字符串

2010-04-15 16:47:46

Oracle字段

2010-07-23 10:09:41

SQL Server

2010-07-21 15:22:07

2010-07-07 11:03:21

SQL Server索

2010-05-31 14:05:51

2009-07-22 17:47:21

Java语言常见字符串

2010-07-23 09:25:50

SQL Server导

2010-06-28 12:39:14

SQL Server数

2010-07-16 11:10:52

SQL server

2010-03-22 18:53:53

Python格式化字符
点赞
收藏

51CTO技术栈公众号