摘要: 下文通过举例的方式讲述sqlserver中位运算的相关知识,如下所示: 实验环境:sqlserver 2008 R2 在sqlserver的权限设置,我们通常使用1.2.4.8.16.32.64.128等数值分别表示相关信息的某一状态供业务状态使用,通过字段值之间的组合形成一个状态值存储到数据库中, 设置一个角色拥有的权限例: 1:代表“查看”按钮权限 2:代表"修改"按钮 4:代表"导出"按钮 8:代表"删除"按钮 ... --例: -…
转自:http://www.maomao365.com/?p=10739 摘要: 下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示: 实验环境:sql server 2008 R2 实现思路: 将组合字符串中的逗号替换为“ 'as n union all select ' ”,然后将替换后的字符串加上select 和 前后加上单引号 是其成为可执行sql脚本, 最后运行替换后的字符串,就可以得到一张数据表,如下所示:  ) set @maomao365 ='s…
摘要: 今天接到老板的需求,需根据一张表中列值,自动重复表中的数据行,然后显示给用户 实验环境:sqlserver 2008 R2 转自:http://www.maomao365.com/?p=8413例: 根据数量遍历循环表 maomao365 <span style="color:red;font-weight:bold;"> 实现思路: 下文将使用 master..spt_values 中的流水编号,自动循环表记录,达到题目中的要求 create table [mao…
摘要: 下文将详细讲述sql server NULL(空值)的相关知识,如下所示: 实验环境: sql server 2008 R2 NULL(空值)简介: mssql sqlserver null数据值简介-1 mssql sqlserver null值详细说明-2 mssql sqlserver null 值简介-3 mssql sqlserver关于表设计中空值(null)设计的相关建议 NULL操作分享: mssql sqlserver sql脚本检索null的方法分享 mssql sq…
位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算) 缺点:只能为整型和字符型数据 位运算主要是针对二进制进行的计算操作,其主要有:与  & .非  !.或 | .异或  ^ .左移  >  和 右移  < 1.与  &使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如: 1&1=…
当给多个中心传输数据时,怎么标记哪些单位推送了,哪些单位没有更新,如果单独设置一个字段,一来说,扩展不足,另外会造成数据库冗余,这里可以采用SQLSERVER的位运算. 比如说,更新标志位为0,长度为4位,对应的二进制为0000,0001表示给高德更新数据,0010表示给百度更新数据,这样做,就不会相互影响更新标记位了.具体怎么做? 这里采用数据库的或运算(|),具体的如下: 1,获取所有没有给高德推送的数据 思路:没有给高德更新的数据的标志位的二进制为 xxx0,怎么获取这些数据呢?可以让最后…
1.题意:有一组3*3的只有时针的挂钟阵列,每个时钟只有0,3,6,9三种状态:对时针阵列有9种操作,每种操作只对特点的几个时钟拨一次针,即将时针顺时针波动90度,现在试求从初试状态到阵列全部指向0的状态所需要的最小操作数的操作方案: 2.输入输出:输入给出阵列初始状态,0,1,2,3分别表示0,3,6,9:要求输出最快方案的操作序列: 3.分析:IOI 1994的考题,BFS是比较容易想到的方法之一,关键是如何简洁的表示和改变BFS过程中的阵列状态:这里使用位运算的方法:具体如下: 首先一共9…
什么是位运算 常用的位运算主要有与(&), 或(|)和非(~), 比如: & = ; | = ; ~ = ; 运用在权限设计中 先建立一个枚举表示所有的权限管理操作: [Flags] public enum Permissions { Insert = , Delete = , Update = , Query = } [Flags]表示该枚举可以支持C#位运算. 枚举的每一项值, 我们用2的n次方来赋值, 这样表示成二进制时刚好是1 = 0001, 2 = 0010, 4 = 0100,…
在PCB行业,一个产品可能同时在多个工厂生产,举例:一个产品一条主记录,这条记录中会对应多个工厂的产地,而这个工厂产地个数不确定, 那么如何设计表结构存储这个不确定的工厂呢?这里想到了4个方式存储 一.主外键一对多的方式 产品为主键,主表,而工厂放到外键,为副表,这样就可以实现一对多的方式. 二.主表中,一个字段存放多个工厂产地 在一个工厂产地中存放多个产地用,分隔;   如一个字段中存放:P1,P2,P3 三.主表中,每个工厂对应一个字段 比如:已知8个工厂,那么在主表建立8个工厂字段存放对应…
本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表   位运算   SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或(^).位运算符用于 int.smallint 或 tinyint 数据,目前SQL Server能支持的按位运算的最大整数类型为Int(4字节整数).有关以上三个按位运算符的详细使用,请参考微软的SQL Server的联机帮助.   设置日期数据表节假日标志   上篇博文(日历数据表详解)中,总结出来一个…
常用的位运算主要有与(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在设计权限时, 我们可以把权限管理操作转换为C#位运算来处理. 第一步, 先建立一个枚举表示所有的权限管理操作: [Flags] public enum Permissions { Insert = , Delete = , Update = , Query = } [Flags]表示该枚举可以支持C#位运算, 而枚举的每一项值, 我们用2的n次方来赋值, 这样表示成二进制…
写在最前面 最近想写一个简单的关于权限处理的东西,之前我也了解过用二进制数的位运算可以出色地完成这个任务.关于二进制数 的位运算,常见的就是“或.与.非”这三种简单运算了,当然,我也查看了下PHP手册,还有“异或.左移.右移”这三个运算.记得上初中时数学老师就开始 唠叨个不停了,在此我也不想对此运算再作额外的说明,直接进入正题. 如何定义权限 将权限按照2的N次方来定义值,依次类推.为什么要这样子定义呐?这样子定义保证了每个权限值(二进制)中只有一个1,而它恰好对应一种权限.比如: define…
一.基础知识 什么是位运算? 用二进制来计算,1&2:这就是位运算,其实它是将0001与0010做位预算   得到的结果是 0011,也就是3  2.位预算有多少种?(我们就将几种我们权限中会用到的) &  与运算    1&0=0    1&1=1   0&0=0 |   或运算    1|1=1     1|0=1    0|0=0 ~  非运算    ~1=0      ~0=1 二.如何与权限关联         1.逻辑是什么?         其实逻辑很…
此项目需求就是根据给用户分配的权限,进行相应的权限模块浏览功能,因为项目不是很大,所以权限没有去用一张表去存,我的解决思路如下,希望大家给点建议. 数据库用户表结构如下: 数据库表梳理: BankUserMember:权限分配表(-分行管理员, -超级管理员). BankUserInfo: 用户详细表. BankAgent: 机构层级表. 用户权限枚举表如下: /// <summary> /// 用户角色 /// </summary> public enum Role { ///…
如果你还是不太懂位运算,请看我的文章:那些年我们一起遗忘的位运算! 下面是我在这次项目中学习到的,我眼中的位运算的应用!主要是实现 通知的3个操作: 1.  置顶 2.  设为首页 3.  同时为 “置顶”+ “设为首页” 效果如图: 我们要想简便的进行位运算,我们可以直接进行如下枚举定义,以2的次方定义,应为他们的值很特殊: 数      二进制值 1 1 2   10 4       100 8    1000 16     10000 32     100000 64     100000…
sql 除法运算 保留两位小数 SELECT 1530/60 select cast(1530*1./60 as decimal(18,1))…
摘要: 下文讲述在sqlserver数据库中,将日期数据转换为指定格式的方法分享,如下所示: 实验环境:sqlserver 2008 R2 实现思路: 实现方法1: 使用year函数和month函数获取相应的数值,然后采用字符串拼接的方法输出相应的数据 实现方法2: CONVERT(varchar(30), GETDATE(), 120),然后使用字符串截取函数截取前几位的数据 例: declare @maomao datetime set @maomao =getdate() select L…
在实际应用中可以做用户权限的应用我这里说到的权限管理办法是一个普遍采用的方法,主要是使用到”位运行符”操作,& 位与运算符.| 位或运行符.参与运算的如果是10进制数,则会被转换至2进制数参与运算,然后计算结果会再转换为10进制数输出.它的权限值是这样的2^0=1,相应2进数为”0001″(在这里^我表示成”次方”,即:2的0次方,下同) 2^1=2,相应2进数为”0010″2^2=4,相应2进数为”0100″2^3=8,相应2进数为”1000″要判断一个数在某些数范围内就可以使用 & 运…
在实际应用中可以做用户权限的应用 我这里说到的权限管理办法是一个普遍采用的方法,主要是使用到”位运行符”操作,& 位与运算符.| 位或运行符.参与运算的如果是10进制数,则会被转换至2进制数参与运算,然后计算结果会再转换为10进制数输出. 它的权限值是这样的 2^0=1,相应2进数为”0001″(在这里^我表示成”次方”,即:2的0次方,下同) 2^1=2,相应2进数为”0010″ 2^2=4,相应2进数为”0100″ 2^3=8,相应2进数为”1000″ 要判断一个数在某些数范围内就可以使用…
Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 泥瓦匠喜欢Java,文章总是扯扯Java. I/O 基础,就是二进制,也就是Bit. 一.Bit与二进制 什么是Bit(位)呢?位是CPU处理或者数据存储最小的单元.类似于很小很小的开关,一开一关,表示为1或者0.所以,这就是计算机处理任何数据的“细胞”,要谨记. 而二进制,…
摘要: 下文将详细讲述sql server xml数据类型的相关知识,如下所示: 实验环境: sql server 2008 R2 xml数据类型简介: mssql sqlserver xml数据类型简介 mssql sqlserver xml数据类型简介 xml数据类型的生成方法: mssql sqlserver for xml (auto.raw .path.explicit) 四种模式的应用说明 mssql sqlserver for xml EXPLICIT 用法详解说明 mssql s…
摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sqlserver CHECKSUM_AGG聚合函数使用简介 mssql sqlserver count聚合函数使用简介 mssql sqlserver count_big聚合函数使用简介 mssql sqlserver grouping聚合函数使用简介 mssql sqlserver grouping…
在实际应用中可以做用户权限的应用 我这里说到的权限管理办法是一个普遍采用的方法,主要是使用到”位运行符”操作,& 位与运算符.| 位或运行符.参与运算的如果是10进制数,则会被转换至2进制数参与运算,然后计算结果会再转换为10进制数输出. 它的权限值是这样的 2^0=1,相应2进数为”0001″(在这里^我表示成”次方”,即:2的0次方,下同) 2^1=2,相应2进数为”0010″ 2^2=4,相应2进数为”0100″ 2^3=8,相应2进数为”1000″ 要判断一个数在某些数范围内就可以使用…
C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ OutputCache Duration="100" VaryByParam="none" %> Duration:缓存时间(秒为单位),必填属性 2.使用微软自带的类库System.Web.Caching 新手接触的话不建议直接使用微软提供的类库,因为这样对理解不够深刻…
前言:虽说这是件小事儿,但本宝宝思前想后,还是为它留下一笔,嘿嘿.反正写博客不浪费纸和笔!好久没有开启我的逗比模式了,我亲爱的乖徒弟DBA,DBB,DBAA等,好久不见你们,遥祝幸福快乐+DB. 整个事情其实使这样的,最近的项目中,有一个表,最终是这样的:一共3位,每一位的取值是1和0(额,后来还有2,哈哈哈),1代表已认证,0代表未认证. 当时为什么这么设计呢,是因为会高频率的出现 XXX 身份已认证.邮箱已认证等等的打标签,就把之前的三个字段变成了一个,当时说是按位取值运算(怎奈何,功力不到…
我们首先来看一个系统中常见的需求: 有一个广告表,我们要对广告做显示控制: 手动上下线. 只允许 VIP 查看. 可能的表结构如下: CREATE TABLE `finger_ad` ( `ad_id` ) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `ad_name` varchar() NOT NULL COMMENT '广告名称', `ad_image_url` varchar() NOT NULL COMMENT '广告图片', `ad_…
在Java位运算总结-leetcode题目博文中总结了Java提供的按位运算操作符,今天又碰到LeetCode中一道按位操作的题目 Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive. For example, given the range [5, 7], you should return 4. 题意:…
一.理解位运算 要学会位运算,首先要清楚什么是位运算?程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),位运算就是直接对在内存中的二进制数的每位进行运算操作 二.理解数字进制 上面提到了二进制,除了二进制,我们还有很多的进制,下面列举一些常见的进制 10进制数:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 (每位满10进1,同时低位补0)2进制数:00000,00001,00010,00011,00100,00101…
首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了. 如: purview = k2|k3; // 赋给添加和删除权限 当需要判断在权限串中是否拥有某一权限时,就需要进行按位与. 如: if((purview & k1) >0)//判断此权限串是否拥有添加权限,结果>0 则进入if语句代码块中 { .... } 说到这里肯定会有疑问了,别急我来细细讲…
回到目录 我们知道在Linq里的分组groupby可以对集合中一个或者多个字段进行分组,并对其中一个属性进行聚合,而Linq为我们提供了多种聚合方法,由aver,sum,count等,而在大叔权限体系中,以上几种聚合是不够的,因为我们需要对权限字段进行按位聚合,或者说对它进行按位的或运算,这对于学过计算机基础的同学不是什么难事,按位求或,就是将数值先转为二进制,进行两个运算数进行求或,原则是:有1则1,全0才0,这是上学时老师教的,呵呵. 对于Linq的扩展方法微软开发人员都放在了System.…