`
yiyeqinghuasoon
  • 浏览: 644856 次
文章分类
社区版块
存档分类
最新评论

【叶子函数分享四十一】SQL位移运算函数

 
阅读更多

-- =============================================

-- Author: <maco_wang>

-- Create date: <2011-03-22>

-- Description: <SQL位移运算函数>

-- =============================================

go

--创建函数

create function displacement(@n as bigint,@m as varchar(3))

returns int

as

begin

declare @maco varchar(50);set @maco=''

declare @i int

declare @x int

declare @s int

while (@n<>0)

begin

set @maco=@maco+convert(char(1),@n%2)

set @n=@n/2

end

set @maco=reverse(@maco)

set @maco=RIGHT('0000'+@maco,4)

set @s=LEN(@maco)

set @i=convert(int,RIGHT(@m,1))

set @x=1

if LEFT(@m,2)='<<'

begin

while(@x<=@i)

begin

select @maco=@maco+'0'

select @x=@x+1

end

select @maco=RIGHT(@maco,@s)

end

if LEFT(@m,2)='>>'

begin

while(@x<=@i)

begin

select @maco='0'+@maco

select @x=@x+1

end

select @maco=LEFT(@maco,@s)

end

set @i=LEN(@maco)

set @s=0

while(@i>0)

begin

if SUBSTRING(@maco,LEN(@maco)-@i+1,1)='1'

begin

select @s=@s+POWER(2,convert(float,@i-1))

end

select @i=@i-1

end

return @s

end

--测试示例

select dbo.displacement(1,'<<3')

select dbo.displacement(8,'>>1')

select dbo.displacement(12,'>>3')

--运行结果

/*

8

4

1

*/

分享到:
评论

相关推荐

    sql函数集锦sql函数集锦sql函数集锦sql函数集锦

    sql函数集锦sql函数集锦sql函数集锦sql函数集锦sql函数集锦sql函数集锦sql函数集锦sql函数集锦sql函数集锦sql函数集锦

    SQL_函数SQL_函数SQL_函数SQL_函数

    SQL_函数SQL_函数SQL_函数SQL_函数SQL_函数SQL_函数SQL_函数SQL_函数SQL_函数

    SQL 常用函数- 时间函数

    SQLserver 中常用的函数,SQLserver 中常用的函数,SQLserver 中常用的函数,SQLserver 中常用的函数,SQLserver 中常用的函数

    sql自定义函数 sql自定义函数

    sql自定义函数 sql自定义函数 sql自定义函数

    sqlserver中常用函数

    sqlserver中常用函数----字符串函数---- ASCII() --函数返回字符表达式最左端字符的ASCII 码值 CHAR() --函数用于将ASCII 码转换为字符 --如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值 ...

    17.函数整理(T-SQL 版).pdf

    17.函数整理(T-SQL 版).pdf17.函数整理(T-SQL 版).pdf17.函数整理(T-SQL 版).pdf

    sql函数函数大全.sql

    sql函数函数大全 常用的字符函数,日期函数,数据转换函数==

    SQL字符串函数SQL字符串函数SQL字符串函数

    SQL字符串函数SQL字符串函数SQL字符串函数SQL字符串函数SQL字符串函数SQL字符串函数SQL字符串函数SQL字符串函数

    Oracle SQL 内置函数大全

    Oracle SQL 内置函数大全 SQL中的单记录函数 给出整数,返回对应的字符 连接两个字符串 增加或减去月份 用于对查询到的结果进行排序输出

    sql时间函数格式转换

    关于sql时间函数格式转换比较全的转换函数和举例说明,整理之网络。

    原创sql存储过程函数范例

    原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...

    SQL函数SQL函数

    SQL函数SQL函数SQL函数SQL函数SQL函数

    SQL数据库常用函数

    SQL常用函数 SQL常用函数SQL常用函数 SQL常用函数 SQL常用函数

    SQL返回表的函数

    SQLServer 返回表的函数在网上有很多,但是大部分都是比较杂的,比较生硬难懂,而且又要跟数据车上关系,我的这个方法没有用到数据,用的是时间,输入一个时间,自动返回一表,表里面的内容是每个季度每个月的某个...

    sql函数大全-sql函数大全

    sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全sql函数大全

    【SQL高级(十)】【SQL Date 函数+SQL Date 数据类型】

    文章目录SQL Date 函数MySQL Date 函数NOW() 函数CURDATE() 函数CURTIME() 函数DATE() 函数EXTRACT() 函数DATE_ADD() 函数DATE_SUB() 函数DATEDIFF() 函数DATE_FORMAT() 函数SQL Server Date 函数GETDATE() 函数...

    SQl 函数说明大全

    1.聚合函数 执行的操作是将多个值合并为一个值。例如 COUNT、SUM、MIN 和 MAX。 2.配置函数 是一种标量函数,可返回有关配置设置的信息。 3.转换函数 将值从一种数据类型转换为另一种。 4.加密函数 支持加密、解密、...

    sql server 自定义函数

    在SQL Server中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功能。用户自定义函数可以在企业管理器中创建,也可以使用CREATE FUNCTION 语句创建。在创建时需要注意:函数名在数据库...

    SQL 重复函数 2005

    SQL 重复函数SQL 重复函数SQL 重复函数SQL 重复函数SQL 重复函数

    sqlserver四舍六入函数

    sqlserver函数实现四舍六入五成双,保留指定位数小数位数。 含义编辑 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,...

Global site tag (gtag.js) - Google Analytics