`

在SQL Server 存储过程中拼接字符串时,若存在varchar和数值型则varchar自动转化为数值型

 
阅读更多

在SQL Server 2008 存储过程中拼接字符串时,若存在varchar和数值型则varchar自动转化为数值型


问题:
(下面@tinyint_var代表一个数值类型的变量,是传递进来的参数)
在SQL Server2008的存储过程中形如set @sql='select * from test where age='+@tinyint_var+'order by sex';
会报varchar 'select * from test where age='转化为数值类型(tinyint或int等,上面的SQL语句只是示意)出错。

解决思路:
把数值1转成varchar类型即可,使用cast(@tinyint_var as varchar)即可(注意不是varchar(xx))

解决后语句:
set @sql='select * from test where age='+cast(@tinyint_var as varchar)+'order by sex';

总结:
在SQL Server 2008 存储过程中拼接字符串时,若存在varchar和数值型则varchar自动转化为数值型。需要使用cast()函数来进行不同类型间的转化(varchar、int、tinyint等,字符串类型和数值类型互相转化)

 

 

转载地址:http://blog.csdn.net/ylchou/article/details/7676112

分享到:
评论

相关推荐

    Sql Server 字符串聚合函数

    在SQL Server中,标准的聚合...`字符`和`字符串`在SQL中用于处理文本数据,而`字符串函数`如`REPLACE`用于处理和修改字符串,`聚合函数`则用于对一组值进行计算并返回单个值。这些概念构成了SQL查询和数据处理的基础。

    SQL Server宝典SQL Server语句大全

    SQL Server支持多种数据类型,如数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、NVARCHAR)、日期时间类型(如DATE、DATETIME2)以及二进制类型(如BINARY、VARBINARY)。理解这些数据类型对于创建表结构和...

    sql server 和oracle 中数据类型的区别

    11. **VARCHAR2**: 可变长度的非Unicode字符类型,例如`VARCHAR2(10)`,在SQL Server中对应的类型为`nvarchar`。 12. **INTERVAL DAY TO SECOND**: 用于存储时间间隔,例如`INTERVAL DAY(2) TO SECOND(6)`,在SQL ...

    SQLSERVER复习资料整理

    索引可以加速数据查询,存储过程是预编译的SQL语句集合,可以提高性能并降低网络流量,而触发器则是在特定数据库事件发生时自动执行的代码段。 在SQL Server中,事务处理和并发控制也是核心概念。事务确保数据的...

    SQL-Server字符串处理函数大全.doc

    SQL Server 提供了多种字符串处理函数,用于处理和操作字符串数据。这些函数可以用于 CHAR、VARCHAR、BINARY 和 VARBINARY 等数据类型。下面是常用的字符串处理函数分类: 一、字符转换函数 * ASCII():返回字符...

    SQL Server

    SQL Server的数据类型是另一个关键点,包括数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、NVARCHAR)、日期时间类型(如DATE、DATETIME2)等。了解这些数据类型有助于正确存储和处理各种数据。 在SQL Server...

    SQLServer中如何将一个字段的多个记录值合在一行显示

    SQL Server 是一种关系型数据库管理系统,具有强大的数据处理能力和存储能力。在实际应用中,我们经常需要将一个字段的多个记录值合并到一行显示,以便于数据分析和展示。在本文中,我们将介绍如何在 SQL Server ...

    21天学通SQL Server 第二版,有需要可以看看

    SQL Server是Microsoft公司推出的一款强大的关系型数据库系统,它在企业级数据存储、管理和分析中扮演着重要角色。本书以21天的学习计划为框架,旨在帮助读者快速掌握SQL Server的核心技术和应用。 在SQL Server的...

    SQLServer字符串处理函数大全[文].pdf

    SQL Server 提供了多种字符串处理函数,用于处理 CHAR、VARCHAR、BINARY、VARBINARY 等数据类型。这些函数可以在 SELECT 语句的 SELECT 和 WHERE 子句以及表达式中使用。 字符转换函数 1. ASCII() 函数:返回字符...

    sqlserver学习资料(转载!)

    SQL Server是一款由微软开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。这篇学习资料集合了大师级人物的智慧结晶,对于想要深入理解和掌握SQL Server的人来说是一份宝贵的资源。 1. SQL ...

    C#中的类型和SQL Server中的类型对应关系

    - `char`和`varchar`在SQL Server中分别表示定长和变长的字符数据,对应C#的`string`类型。需要注意的是,C#中没有直接对应`char`的类型,但可以使用单个字符的字符串来模拟。 - `nchar`和`nvarchar`是存储Unicode...

    SQL字符串函数大全

    字符串操作函数可以帮助我们在SQL中更灵活地处理字符串。 ##### CONCAT() - **功能**:CONCAT()函数用于连接多个字符串。 - **语法**: ```sql CONCAT(, , ...) ``` - **示例**: ```sql SELECT CONCAT('...

    sql server 数据类型

    数值型数据类型是SQL Server 2000中的另一大类,包括整型、数字型和浮点型。整型数据类型分为bigint、integer (或 int)、smallint和tinyint。bigint是SQL Server 2000新引入的,可存储极大或极小的整数。integer或...

    SQL_Server_2008中的数据类型比较详细的 介绍

    在数据库设计和开发过程中,正确选择数据类型对于数据存储、查询性能以及维护的高效性至关重要。SQL Server 2008的数据类型主要可以分为以下几类:精确数字、大约数字、日期和时间、字符串、Unicode字符串、二进制...

    如何整理SQL Server输入数据

    其次,将数值型数据从varchar转换为整数类型可以减少存储需求,并且可以利用SQL Server的数值运算优化,提高查询速度。对于只包含“Y”、“N”或NULL的列,虽然可能倾向于将其转换为布尔值(bit),但考虑到列的可...

    SQL server.7z

    SQL Server是一款由微软公司开发的关系型数据库管理系统(RDBMS),在IT领域中扮演着至关重要的角色。它提供了高效的数据存储、查询、管理和分析功能,广泛应用于企业级的数据管理解决方案中。以下是对压缩包文件中...

    SQLserver最全资料和案例

    在SQL Server领域,它是Microsoft公司推出的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。这份"SQLserver最全资料和案例"压缩包显然包含了关于SQL Server的全面信息,特别是针对数据库的使用要点和...

    SQL-Server字符串处理函数大全.pdf

    SQL Server 提供了多种字符串处理函数,用于对字符串进行操作和处理。这些函数可以在 SELECT 语句的 SELECT 和 WHERE 子句中使用,作用于 CHAR、VARCHAR、BINARY 和 VARBINARY 数据类型,以及可以隐式转换为 CHAR 或...

    SQL Server数据库基础

    2. **数据类型**:SQL Server支持多种数据类型,包括数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、NVARCHAR)、日期时间类型(如DATE、DATETIME2)和二进制类型(如BINARY、VARBINARY)。了解这些数据类型有...

    SQL脚本函数 16进制转换为10进制

    在数据库管理和软件开发过程中,经常需要处理不同进制之间的数值转换问题。尤其是在处理网络协议、加密算法或是数据存储格式时,十六进制与十进制之间的转换显得尤为重要。SQL作为关系型数据库的标准查询语言,提供...

Global site tag (gtag.js) - Google Analytics