[急]如何实现二进制字符串按位"与"的操作?

smartyyp 2006-10-25 03:37:14
例如:
declare @A1='10000000001111111111'
declare @A2='11000000001111001111'
如何做按位"与"的操作,得到'10000000001111001111'

有没有这样的高效自定义函数?

注:不能用SQL自带的"&",因为我的字符串太长有几百位,不能传换成int
...全文
439 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Well 2006-10-28
  • 打赏
  • 举报
回复
自己写一个function
xyxfly 2006-10-28
  • 打赏
  • 举报
回复
to:i9988(冒牌j9988 V0.3)


函数的效率一直是问题


这个有没有什么说法的?
i9988 2006-10-28
  • 打赏
  • 举报
回复
没有高招,函数的效率一直是问题
marco08 2006-10-26
  • 打赏
  • 举报
回复
學習
smartyyp 2006-10-25
  • 打赏
  • 举报
回复
如果数据量大(100000),而且二进制的位数在500位怎么办
i9988 2006-10-25
  • 打赏
  • 举报
回复
函数是没效率可言的,所以除非必要而且数据量不大,才用函数

函数改进效率的余地不大

smartyyp 2006-10-25
  • 打赏
  • 举报
回复
写成函数为什么执行效率这么低
i9988 2006-10-25
  • 打赏
  • 举报
回复
注意:
结果长度以第一个串长度决定,如果第二个串长度小于第一个串,不足的位都是返回0,如果第二个串长度大于第一个串,只返回第一个串长度的串

pdgzzgx 2006-10-25
  • 打赏
  • 举报
回复
都是对的 我学习了
九斤半 2006-10-25
  • 打赏
  • 举报
回复
declare @A1 nvarchar(2000),@A2 nvarchar(2000)
set @A1='10000000001111111111'
set @A2='11000000001111001111'

declare @i int,@result nvarchar(2000)
select @i=1,@result=''

while @i<=len(@A1)
begin
if substring(@A1,@i,1)=1 and substring(@A2,@i,1)=1
set @result=@result+'1'
else
set @result=@result+'0'

set @i=@i+1
end

print @result
i9988 2006-10-25
  • 打赏
  • 举报
回复
自己写

create function fn_And(
@A1 varchar(300),
@A2 varchar(300)
)
returns varchar(300)
as
begin
declare @r varchar(300)
set @r=''
while len(@A1) >0
begin
set @r=@r+cast(cast(left(@A1,1) as tinyint) & cast(left(@A2,1) as tinyint) as varchar)
set @A1=stuff(@A1,1,1,'')
set @A2=stuff(@A2,1,1,'')
end
return @r
end

--调用
declare @A1 varchar(300)
set @A1='10000000001111111111'
declare @A2 varchar(300)
set @A2='11000000001111001111'

select dbo.fn_and(@a1,@a2)

--结果

-------------------------------------------------------------------------------------10000000001111001111

(所影响的行数为 1 行)

源码下载地址: https://pan.quark.cn/s/8d2c461c797c JavaWeb程序设计构成了掌握Web交互式应用程序开发的核心领域,对于初学者来说,精通这一技术具有决定性意义。在“JavaWeb程序设计(第三版)作业答案”中,我们可以预期获得针对该教材习题的一系列深入解析,从而协助学习者强化知识体系。 JavaWeb所包含的技术组件涵盖了Servlet、JSP(JavaServer Pages)、JDBC(Java Database Connectivity)以及各类框架如Spring MVC、Struts等。Servlet是Java平台提供的一种扩展服务器功能的接口,能够处理HTTP请求并生成相应的反馈。JSP则是一种用于构建动态网页的工具,它支持开发者将HTML代码与Java代码进行整合编写,从而简化了Web应用程序的开发流程。 作业答案通常会涉及以下几个核心内容: 1. **Servlet基础**:可能包含Servlet生命周期、init(), service(), destroy()方法的应用,以及如何在web.xml文件中设定Servlet的映射关系。 2. **JSP基础**:JSP的九大内置对象,如request、response、session、application等的使用,以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的实际操作。 3. **HTTP协议理解**:GET和POST请求方法的差异,请求头与响应头的应用,以及会话管理的概念阐释。 4. **JDBC数据库操作**:与数据库建立连接,执行SQL指令,处理查询结果集,以及...

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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