一个sql语句set多个值的意思

请教SQL语句什么意思_百度知道
请教SQL语句什么意思
有下面这样一段SQL代码,意思是把str长字符串以逗号隔开截成多个字符串,但是 select @strsql='insert into temp values ('''+replace(@str,',',''') insert into temp values (''')+''')'这句语句看不明白是什么意思?为什么要这样写?create table temp(a
varchar(20)) declare @strsql as varchar(8000) declare @str as varchar(3000) set @str=',test,' select @strsql='' select @strsql='insert into temp values ('''+replace(@str,',',''') insert into temp values (''')+''')'exec (@strsql)
提问者采纳
实际上语句需要的结果就是这么几句。insert into temp values ('1234')insert into temp values ('234')insert into temp values ('test')insert into temp values ('4325')insert into temp values (';)但这5个值都在 @str=',test,' 里面,那怎么实现这个结果呢?你所列出的语句里面,它使用了这么一种方法——将@str里面的' ,
' 分隔符号(中文里的逗号)替换成 insert into temp values 这么一句话,并且将替换完的结果放在@strsql中,那么就@strsql就变成了这样 @strsql='1234 insert into temp values 234 insert into temp values test insert into temp values 4325 insert into temp values ; ,那么现在再执行@strsql的话不就得到想要的结果了吗?当然中间还有一些细节方面的问题把 ' , '替换为 insert into temp values 这么一个语句用的是replace函数replace (@str,',','
insert into temp values
') 这句的意思就是将@str中的分隔符' , '替换成insert into temp values语句。那么现在@str变为
'1234 insert into temp values
234 insert into......'但这样仍然还不能执行,因为可以发现还有几个问题,1234前面缺少一句 insert into temp values,values后面 缺少括弧和引号。所以在前面还需要加上一句insert into temp, 而且values 后面需要加上括弧 。我们先加上括弧试试,那么语句就变成下面这样@strsql=replace(@str,',',''') insert into temp values (''')print @strsql
--加个输出看看结果是什么样。上面的一句的意思就是:将@str中的分隔符' , '替换为 ') insert into temp values (' 注意这里,不仅加了括弧,而且加上了引号。现在得到的结果是1234') insert into temp values ('234') insert into temp values ('test') insert into temp values ('4325') insert into temp values ('343455现在就简单了,只需要在前面加上一句insert into temp (' 最后加上一个 ')就成功了。那么语句就是你所说的这句了select @strsql='insert into temp values ('''+replace(@str,',',''') insert into temp values (''')+''')'整个语句完整的可以是这样create table temp(a
varchar(20)) declare @strsql as varchar(8000) declare @str as varchar(3000) set @str=',test,' set @strsql='insert into temp values ('''+replace(@str,',',''') insert into temp values (''')+''')'exec (@strsql)select @strsql=''这句可以不用select @strsql= 也可以写成set @strsql= 在这里是一样的。
提问者评价
你解释得很详细,谢谢!
其他类似问题
为您推荐:
sql语句的相关知识
其他3条回答
exec(需要一个字符串)
有些sql语句如declare @tableName varchar(100)set @tableName ='employee'select * from @tableName //遇到这种情况时只能这么写:exec('select * from '+@tableName)
//表名是变量时 采用这个 不然错误
应该是变量,@strsql=代表给变量赋值,@strsql代表直接使用变量值,类似编程里的get,set
@strsql='' select @strsql='insert into temp values ('''+replace(@str,',',''') insert into temp values (''')+''')'定义变量 @strsqlexec (@strsql)执行
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在这句sql语句里% :是什么意思_百度知道
在这句sql语句里% :是什么意思
sql=&select * from zc where nl like'%&+request.form(&nl&)+&%' and xb like '%&+request.form(&xb&)+&%' and hyzk like '%&+request.form(&hyzk&)+&%' and gcqk like'%&+request.form(&gcqk&)+&%' and gf like'%&+request.form(&gf&)+&%' and yj like '%&+request.form(&yj&)+&%'&在这句sql语句里% :是什么意思
我有更好的答案
%叫做通配符,代表任何字符任意数量如'%a%'就代表一个字符串只要包含字母a就符合条件'%a'则代表一个字符串需要以字母a结尾才符合条件'a%'就是以a开头的字符串了
%在SQL表示任意长度的字符。如:like &%王&,则表示前面可能有N个字符。但是最后一个字符是&王&字的串。如:小王。芙蓉王。等
%是个匹配符,%request.form(&gf&)%表示中间包含request.form(&gf&)的字符
来自:求助得到的回答
模糊条件查询的必要符号
like :不是“像”的意思吗,那么这两个不冲突吗
不会,这是语法。你试试就知道了。
其他类似问题
为您推荐:
您可能关注的推广
sql语句的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁数据库SQL语句讲解_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
数据库SQL语句讲解
数​据​库​S​Q​L​语​句​讲​解
大小:3.63MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢请大神指点,SQL语句这是什么意思?求详细,感激不尽!_百度知道
请大神指点,SQL语句这是什么意思?求详细,感激不尽!
sql = &select m.*,p.sysset,p.readerset,p.bookset,p.borrowback,p.sysquery from tb_manager m left join tb_purview p on m.id=p.id&;
提问者采纳
select m.*,p.sysset,p.readerset,p.bookset,p.borrowback,p.sysquery from tb_manager m left join tb_purview p on m.id=p.id1、检索tb_manager表全部列和tb_purview表sysset列,readerset列,bookset列,borrowback列,sysquery2、两个表之间的关系是:tb_manager表左连接tb_purview表,条件是:tb_manager表id列=tb_purview表里的id列,意思也就是 显示tb_manager表全部记录,若没有关联到tb_manager表中数据,那么tb_manager表列都显示为null
提问者评价
来自团队:
其他类似问题
为您推荐:
其他2条回答
根据id相同的原则关联查询tb_manager和tb_purview,获取tb_manager中所有字段,以及tb_purview里面的sysset,readerset,bookset,borrowback,sysquery字段。
p是随便取的吗?
 掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete。
   练掌握SQL是数据库用户的宝贵财 富。在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。当你完成这些学习后,显然你已经开始算是精通SQL了。
  在我们开始之前,先使用CREATE TABLE语句来创建一个表(如图1所示)。DDL语句对数据库对象如表、列和视进行定义。它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。这些工作由另一类SQL语句—数据操作语言(DML)语句进行处理。
  SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。在图1中我们给出了一个...
sql语句的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁sqlcode sqlstate 说明_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
sqlcode sqlstate 说明
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢}

我要回帖

更多关于 sql语句where多个条件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信