`

关于sql中字符串的疑惑

SQL 
阅读更多

今天早上写了一个存储过程,如下

DECLARE packway_cursor CURSOR FOR
select Distinct  by00902 from sdby009 where by00901 in(
select  by02108 from sdby021 where
by02118=@by02118)
OPEN packway_cursor
FETCH NEXT FROM packway_cursor
INTO @PackWay
while(@@fetch_status=0)    
begin 
   set @PackMeanId =@PackMeanId + @PackWay
  fetch next from packway_cursor into @PackWay
  if(@@fetch_status=0)
  begin
   set @PackMeanId = @PackMeanId + '/'
  end
end

close packway_cursor      
deallocate packway_cursor
select @PackMeanId

问题是无论有没有记录存在@PackMeanId 都为null,不知道原因是什么,而我将他改为如下

DECLARE packway_cursor CURSOR FOR
select Distinct  by00902 from sdby009 where by00901 in(
select  by02108 from sdby021 where by02118=@by02118)
OPEN packway_cursor
FETCH NEXT FROM packway_cursor
INTO @PackWay
set @PackMeanId = ''
while(@@fetch_status=0)    
begin 
   set @PackMeanId =@PackMeanId + @PackWay
  fetch next from packway_cursor into @PackWay
  if(@@fetch_status=0)
  begin
   set @PackMeanId = @PackMeanId + '/'
  end
end

close packway_cursor      
deallocate packway_cursor
select @PackMeanId

红色的为后来加的,这样就能得到正确的答案的,原因何在呢,难道是定义的@PackMeanId,没有给他赋值,他为null,然后 set @PackMeanId =@PackMeanId + @PackWay就一直为null吗?不明?

分享到:
评论

相关推荐

    SQLsever(1-11课)经典教学笔记

    字段类型决定了数据的存储格式,如INT用于整数,VARCHAR用于可变长度的字符串。主键是用于唯一标识每条记录的字段,而外键则用于关联不同表之间的数据。索引可以极大地提高查询速度,但也会占用额外的存储空间。 在...

    php试题用于解答程序员的疑惑

    其他选项中,`^`匹配字符串的开头,`$`匹配字符串的结尾,`?`匹配前面的子表达式一次或多次,这些解释都是正确的,因此错误的解释是C选项。 3. CSS选择器优先级:行内样式具有最高优先级,其次是ID选择器,接着是类...

    JavaScript中的细节分析

    单引号和双引号:这个问题在学SQLServer拼接字符串”select * from page where name=’lida'”时就有疑惑:后面都的三个’到底是双引号在前还是单引号在前?学的多了知道,双引号是编程语言使用的,单引号是SQL...

    ASP.NET考试指南

    在ASP.NET中,连接数据库的连接字符串是至关重要的。实验一探讨了两种主要的数据源——SqlDataSource和LinqDataSource的连接方式。SqlDataSource允许直接通过SQL查询来获取和操作数据,而LinqDataSource则利用LINQ...

    PHP中文版手册CHM

    2. **字符串和数组处理**:PHP对字符串和数组提供了强大的支持,包括拼接、查找、替换、分割、排序等功能,这对于处理Web数据至关重要。 3. **函数**:PHP内建了大量的内置函数,如数学函数、字符串函数、日期时间...

    数据库资料

    - 连接数据库:使用ODBC或ADO建立连接,设置连接字符串,包括数据库驱动、服务器名、用户名、密码等信息。 - 查询与操作:通过SQL语句执行查询、插入、更新和删除操作,CRecordset类可以方便地处理这些操作。 - ...

    php5的最新中文手册

    此外,PHP5的正则表达式功能也得到了增强,支持了PCRE(Perl Compatible Regular Expressions),使得字符串匹配和替换更为强大。手册会详细解释正则表达式的语法和使用技巧。 在安全性方面,PHP5引入了过滤器和预...

    php与MySQL5基础教程

    此外,了解PHP文件操作、字符串处理和日期时间函数也至关重要,这些功能在实际项目中频繁使用。 MySQL基础部分会引导读者了解数据库的基本概念,如表、字段、记录和索引。学习者需要掌握如何创建、修改和删除数据库...

    mysql 参考手册(详解关键字的功能和涉及到的问题)

    6. **函数和运算符**:手册会详细介绍内置函数(如日期和时间函数、数学函数、字符串函数等)和逻辑运算符的使用。 7. **视图和存储过程**:视图提供了一种简化复杂查询的方式,而存储过程可以封装一系列的SQL语句...

    MCTS Self-Paced Training Kit(Exam 70-516)

    - 开发者需要掌握如何配置应用程序的连接字符串、选择适当的数据库提供程序以及如何处理连接生命周期。这部分还涉及了如何优化连接管理和事务处理策略,以提高应用程序的性能和可靠性。 - **考试准备**: - **...

    phpphp5帮助文档

    PHP5的语言参考部分涵盖了所有的内置函数、控制结构、变量类型、类和对象、错误处理、字符串处理、数组操作等。这部分内容详尽且深入,有助于读者掌握PHP5的语法特性,并能灵活运用到实际项目中。 四、安全 PHP5的...

    易语言源码100个6.zip

    - 基本数据类型:包括整型、实型、字符串、布尔型等,便于处理各种计算和逻辑操作。 - 控件和窗口:易语言支持多种界面元素,如按钮、文本框、列表框等,用于构建用户界面。 - 过程和函数:易语言中的过程和函数...

    php一天速成秘籍

    - **数据类型**:熟悉PHP中的数据类型,包括整型、浮点型、字符串、数组、对象等。 - **控制结构**:学习条件语句(if...else、switch...case)、循环语句(for、while、do...while)和错误处理机制(try...catch)...

    Python3-廖雪峰[带标签完整版]

    - **编码介绍**:Python 支持 Unicode 编码,默认字符串为 Unicode 字符串。 - **操作**:可以对字符串进行各种操作,如拼接、分割、替换等。 - **使用 list 和 tuple** - **区别**:列表是可变的,而元组是不可...

    仿百度知道问答(Ask)系统 v1.0_互动式知识问答分享平台

    1. Web.config:应用程序的全局配置文件,定义了各种设置,如数据库连接字符串、身份验证和授权规则。 2. Global.asax:全局应用程序文件,用于定义应用程序启动、结束等事件的处理。 3. 控制器(Controller):处理...

    php.zip_企业网站

    1. **变量和数据类型**:PHP支持多种数据类型,如字符串、整型、浮点型、数组、对象等,理解它们的使用是编写PHP代码的基础。 2. **流程控制**:包括条件语句(if...else)、循环语句(for、while、foreach)以及...

    Java入门学习指导

    3. **学习Java的基本语法**:掌握变量声明、数据类型(如整型int、浮点型float、字符串String等)、运算符、流程控制语句(if-else、for循环、while循环等)等基础知识。 4. **理解面向对象编程**:Java是一种面向...

    智能答疑系统的设计与研究

    智能答疑系统所采用的分词算法通常是基于字符串匹配的分词方法,如正向最大匹配算法,它通过将待分析的字串与词库中的词条进行匹配,从而识别出一个一个的词。 智能答疑系统的研究和实践表明,它能够有效地提高教学...

    Sams Teach Yourself Visual C# 2008 in 24 Hours,James Foxall

    - **文本处理**:字符串的拼接、分割、查找等功能介绍;正则表达式的匹配规则。 - **数据库连接**:ADO.NET框架的介绍及其连接数据库的方式;SQL查询语句的编写规范。 #### 5. 用户界面设计 - **Windows窗体**:...

Global site tag (gtag.js) - Google Analytics