0
推荐
2342
阅读
NLS_LENGTH_SEMANTICS参数使用注意事项
从9i开始,oracle提供了NLS_LENGTH_SEMANTICS这个参数,其有两个取值,CHAR和BYTE。当为CHAR时字符类型的长度是按字符个数来计算,而不是按BYTE来计算,这在使用变长字符集(AL32UTF8)的情况下非常有用,因为一个字符所占用的字节数是不定的,就给我们准确估计字段长度(BYTE)带来不便。同时当为CHAR时,对那些采用7/8bit...
0
推荐
3313
阅读
Oracle、SQL Server下MD5+Base64密码加密实现
写在前面:MD5和Base64的函数实现并不是本文的重点,重点是在实现过程中遇到的字符集转换的麻烦 最近由于工作需要,要将BIEE与公司现有的ERP系统做集成,使用外部表的方式。现有系统基于.Net平台,数据库为SQL Server 2008 R2,用户密码采用先算MD5在转Base64的方式存于数据库中。代码逻辑如下byte[] byteString = ...
0
推荐
1983
阅读
怎样在5秒内从5亿记录的用户积分表实时得到用户的排名
今天在群里有网友提出如下问题: 有表 A 字段信息如下:(手机号码, 用户积分)怎么能够在5秒内返回用户积分在所有用户中的排名 (用户在登陆系统时给出登陆时的排名 ,用户积分可能增加、减少 ,在本次登陆后的积分变化在下次登陆时重新排名,积分相同的用户排名相同,这时并给出同一...
1
推荐
2307
阅读
15亿数据重复性校验程序
有表A 字段信息如下:(id1,id2 ,col1,col2,col3,....colN)id1,id2 为联合主键 。每日数据量在15亿条左右,数据文件大概有350GB,每120MB一个文件。要求在数据入库前做主键校验,保证装载到DW中的数据主键唯一。(注:DW中没有建立主键约束,即使主键不唯一也能装载成功,要求通过装载前的校验来保证主键唯一) 对于这...
0
推荐
2001
阅读
Oracle数据库,怎样更新联接视图?
所谓联接视图,就是有多张基表的视图(From子句中引用了多张表或者视图) 通常情况下,只有满足了一定的条件,我们才能更新联接视图,比如1、视图定义中没有WITH READ ONLY选项 2、一次只能更新一张基表 3、只能更新映射到键值保存表(key-preserved table)的字段 4、满足其它简单视图的更新条件(比如...
0
推荐
1908
阅读
一条SQL生成9*9乘法表
MySQL语法:SELECT CASE WHEN a < 1 THEN '' ELSE CONCAT('1*',a,'=',a*1) END AS '1', CASE WHEN a < 2 THEN '' ELSE CONCAT('2*',a,'=',a*2) END AS '2', CASE WHEN a < 3 THEN '' ELSE...
0
推荐
2163
阅读
Oracle SQL行列转换应用实例一则
现有如下两张表com_treeIDLEVEL1LEVEL2LEVEL3LEVEL4LEVEL510010010010010012001002002002002300100300300300340010040040040045001390007007007600110110110110170012011011011018001101102102102 com_descIDCODEDESCPTIONS1001股份公司2002工程物流事业部3003特种物流事业部4004股份船代公司5005中瑞检验600...
0
推荐
1782
阅读
Oracle SQL 正则表达式示例一则
考虑如下需求现有某表字段值 'A'AA-BB现在要实现把A替换成1,把B替换成2 ,但被单引号包起来的'A'不被替换,最终的替换结果是'A'11-22 。 注意:'A'引号部分的位置不固定 引叫里的内容不止一个字符简单来说,就是要把没有位于引号中的A替换成1,B替换成2;而在引号中的则保持不变。 拿到这个问题的时候,...
0
推荐
1970
阅读
利用TopN算法实现复杂去重实例一则
昨天有网友提了一个问题,需要对如下数据按1小时的间隔进行去重。1 15392 2012-8-31 23:59:002 15392 2012-9-1 0:13:003 15392 2012-9-1 0:16:254 15392 2012-9-1 12:10:255 15392 2012-9-1 1...