sql语句中"&"和"+"到底有啥区别?这个语句怎么写?50分!

BrightEye 2002-06-12 05:23:33
我要在两个表中查询记录,其中一个表是变化的(表名是变量).下面的有错误!
sql="select"&tblname&".aaa,"&tblname&".bbb,"&tblname&".ccc,"&tblname2.ddd from"&tblname&,tblname2 where"&tblname&".aaa"=tblname2.aaa order by"&tblname&".aaa desc"
...全文
93 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
BrightEye 2002-06-14
  • 打赏
  • 举报
回复
买单!
希偌 2002-06-13
  • 打赏
  • 举报
回复
这两个符号在vbscript作为脚本的时候对字符串操作没有区别!
BrightEye 2002-06-13
  • 打赏
  • 举报
回复
先试试!
ssm1226 2002-06-13
  • 打赏
  • 举报
回复
&(按位 AND)
在两个整型值之间执行按位逻辑与运算。

语法
expression & expression

参数
expression

是任何有效的 Microsoft? SQL Server? 表达式,必须由整数数据类型分类中的任何数据类型组成。expression 是经过处理并转换为二进制数字以便进行位运算的整型参数。

结果类型
如果输入值为 int,则返回 int;如果输入值为 smallint,则返回 smallint;或者如果输入值为 tinyint,则返回 tinyint。

========================================================
+(加)
两个数相加。这个加法算术运算符也可以将一个以天为单位的数字加到日期中。
========================================================
+(字符串串联)
字符串表达式中的运算符,将两个或多个字符或二进制字符串、列或字符串和列名的组合串联到一个表达式中(字符串运算符)。




suolan 2002-06-13
  • 打赏
  • 举报
回复
应该是SQL语句错误,多个表关联应该用INNER JOIN关键字,

例如:

sql="select" & tblname & ".aaa," & tblname & ".bbb," & tblname & ".ccc," & tblname2 & ".ddd from" & tblname & " INNER JOIN " & tblname2 ON " & tblname & ".aaa=" & tblname2 & ".aaa order by" & tblname & ".aaa desc"

另外即使你的SQL语法正确,你也写错了,有的地方没有加引号

应该是:
sql="select " & tblname & ".aaa," & tblname & ".bbb," & tblname & ".ccc," & tblname2 & ".ddd from " & tblname & "," & tblname2 & " where " & tblname & ".aaa=" & tblname2 & ".aaa order by" & tblname & ".aaa desc"



(这东西不费脑,反而费眼)




possible_Y 2002-06-13
  • 打赏
  • 举报
回复
对字符串操作时,+和&是一样的,但对数字就不一样
a="100"
b="good"
a+b就为100good,a&b就为100good

a=100
b="good"
a+b就为100good,a&b就为100good

a=100
b=100
a+b就为200good,a&b就为100100

还有就是用&连接字符串时不能换行,如:
sql="slect"&
"* from table where id=" & num 就是错的,换行时要用&_,如:
sql="slect"&_
"* from table where id=" & num 就对了
Adele_fu 2002-06-12
  • 打赏
  • 举报
回复
兄弟我告诉你:当你碰见此类问题时可以在程序中 Response.write sql
将此句写出来放在 SQLSERVER 的 QueryAnalyzer中运行一下,系统就会告诉你错在哪里了!
sql="select "
&tblname&".aaa,"&tblname&".bbb,"&tblname&".ccc,"&tblname2.ddd “ from "&tblname&","&tblname2&
" where "&tblname&".aaa"="&tblname2&".aaa order by"&tblname&".aaa desc"
应该没有问题了!只要你多写以后就OK了
julyclyde 2002-06-12
  • 打赏
  • 举报
回复
&是vbs里用的吧?连接字符串用
+在vbs和SQL里都可以用。可以做加法和连接用
wanzhao76 2002-06-12
  • 打赏
  • 举报
回复
&和+大多情况是一样的,区别是:& 只是做字符串连接,而+ 还可以做运算。
列:1+1=2 ; 1&1=11
spgoal 2002-06-12
  • 打赏
  • 举报
回复
如果是字符串运算的话,&和+的效果应该是一样的
gzj0815 2002-06-12
  • 打赏
  • 举报
回复
又重新看了你的程序一下,没有什么错误,你试着加上空格,我的程序很多因为没有加空格系统不认。比如:
sql="select" & " " & "tablename".aaa,
试试看!
gzj0815 2002-06-12
  • 打赏
  • 举报
回复
我知道一个用+的成功的例子:
"select * from"+a
"a"是个变量的表的名字,我用了很多次,都成功!
如查后面还有其他的参数的话,也可以用& 的,也能成功!
超级大笨狼 2002-06-12
  • 打赏
  • 举报
回复
你把sql和vbs语句弄混了,tblname2.ddd 格式应该和前面的一致
WalkSing 2002-06-12
  • 打赏
  • 举报
回复
sql="select "&tblname&".aaa,"&tblname&".bbb,"&tblname&".ccc,tblname2.ddd from "&tblname&",tblname2 where "&tblname&".aaa"=tblname2.aaa order by "&tblname&".aaa desc"
try:
WalkSing 2002-06-12
  • 打赏
  • 举报
回复
sql="selec "&tblname&".aaa,"&tblname&".bbb,"&tblname&".ccc,tblname2.ddd from "&tblname&",tblname2 where "&tblname&".aaa"=tblname2.aaa order by "&tblname&".aaa desc"
try:
BrightEye 2002-06-12
  • 打赏
  • 举报
回复
这个我知道,在SQL语句中有时侯必须用"+"连接符,象下面的语句错在哪儿?
sql="select"
&tblname&".aaa,"&tblname&".bbb,"&tblname&".ccc,"&tblname2.ddd from"&tblname&,tblname2
where"&tblname&".aaa"=tblname2.aaa order by"&tblname&".aaa desc"
keyterxian 2002-06-12
  • 打赏
  • 举报
回复
这样:
sql="select "&tblname&".aaa,"&tblname&".bbb,"&tblname&".ccc,"&tblname2.ddd from"&tblname&,tblname2 where"&tblname&".aaa"=tblname2.aaa order by"&tblname&".aaa desc"

你的SQL语句中有些地方要有空格啊,多注意空格,关于"&"和"+"区别上面那位老兄说得对。
MeXP 2002-06-12
  • 打赏
  • 举报
回复
& 运算符
用来强制两个表达式作字符串连接


+ 运算符
用来求两数之和。

在使用 + 运算符时有可能无法确定是做加法还是做字符串连接。为避免混淆,请使用 & 运算符进行连接,并且改进程序代码的可读性。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧