博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql字符串变量拼接
阅读量:4551 次
发布时间:2019-06-08

本文共 1020 字,大约阅读时间需要 3 分钟。

SQL SERVER拼接字符串(字符串中有变量)  总是忘记规律,转载过来以帮助记忆。

 

一、拼接字符串(整个字符串不分割)步骤:

首先在字符串的前后加单引号;

字符串中的变量以在字符串中表示;

若在执行时存在类型转换错误,则应用相应的类型转换函数,对变量进行类型转换(如cast()函数)。

示例均采用northwind数据库。

示例一:

包含SQL拼接字符串的存储过程:

Create Procedure Test

 @TestID  int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='''+cast(@TestID as varchar)+''''

/* 我在使用中,这样做时候,提示错误。*/

/*Set @s='Select * From dbo.Categories where CategoryID=cast('''+@TestID+''' as varchar)' 这样的话,才成功

*/

print @s
exec(@s)

执行:

exec  Test  @TestID=1

执行结果:

 

二、拼接字符串(字符串分割)步骤:

将不包含变量的字符串前后用单引号括起来,

不含变量的字符串与变量用+进行拼接

变量用进行表示(@para为变量名);

若执行存储过程时出现类型转换错误,则采用相应的类型转换函数进行转换。

示例采用northwind数据库。

示例二:

包含SQL 字符串的存储过程:

Create Procedure Test

 @TestID  int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='+''''+cast(@TestID as varchar)+''''

/*我按照下面写法,才通过

Set @s='Select * From dbo.Categories where CategoryID=cast('+''''+@TestID+''''+‘ as varchar)’

*/

print @s

exec(@s)

执行:

exec  Test  @TestID=1

执行结果:

 

转载于:https://www.cnblogs.com/rb258/p/7063445.html

你可能感兴趣的文章
maven仓库镜像、私服与jdk版本配置
查看>>
关于JDBC、JdbcTemplate使用遇到的坑
查看>>
java代码实现数据源切换(连接池简单粗暴)
查看>>
关于tomcat启动错误:At least one JAR was scanned for TLDs yet contained no TLDs
查看>>
mysql自定义函数初始化数据:init_data()
查看>>
关于tomcat报错记录
查看>>
linux(centos 7)安装及使用yum
查看>>
mybatis使用Map<String,Object>映射mysql结果集,关于字段的问题
查看>>
linux上一些常用的命令
查看>>
intellij debug模式提示 Method breakpoints may dramatically slow down debugging
查看>>
tomcat设置远程监听端口(linux&windows)
查看>>
rpm包管理工具
查看>>
rabbitmq安装(linux)遇到 很多坑
查看>>
mysql导入导出命令
查看>>
lrzsz
查看>>
base64字符串转化成图片
查看>>
关于同步异步阻塞非阻塞的理解(摘自)
查看>>
git使用常见问题
查看>>
mysql安装(centos7)
查看>>
关于mysql数据库连接异常处理
查看>>