w1100n
This site is best viewed in Google Chrome
wiloon, 7/12/2017 23:09

时间序列数据库 InfluxDB 基于 Go 语言开发,社区非常活跃,项目更新速度很快,日新月异,关注度高。 特点 可以设置metric的保存时间。 支持通过条件过滤以及正则表达式删除数据。 支持类似 sql 的语法。 可以设置数据在集群中的副本数。 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。 概念 数据格式 Line Protocol measurement[,tag_key1=tag_value1…] field_key=field_value[,field_key2=field_value2] [timestamp] cpu_load,host_id=1 value=0.1 1434055562000000000 相比于 JSON 格式,无需序列化,更加高效。 measurement: metric name,例如 cpu_load。 field-key, field-value: 通常用来存储数据,类似 opentsdb 中的 value=0.6,但是支持各种类型,数据存储时不会进行索引,每条数据必须拥有一个 field-key,如果使用 field-key 进行过滤,需要遍历一遍所有数据。 tags-key, … Continue reading

wiloon, 9/2/2013 17:14

因为新的SQL SERVER 使用了英文版, 使用了默认的排序规则是:SQL_Latin1_General_CP1_CI_AS 但旧的数据使用的是中文版, 使用的排序规则是 Chinese_PRC_CI_AS.  当新建的数据与旧的数据库的表相关联时,出现排序规则不一致的错误信息: Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS” and “Chinese_PRC_CI_AS” in the equal to operation. 解决方法:  1. 可以在有 文字的Fields 上加上 COLLATE DATABASE_DEFAULT 如: SELECT Title, FirstName, MiddleName, EmailAddress, EmailPromotion, ModifiedDate FROM  AdventureWorks.Person.Contact WHERE ContactID<10 UNION SELECT … Continue reading

wiloon, 8/20/2013 15:44

转自:http://hi.baidu.com/yahuudang/blog/item/4c65ab77f758b01fb151b953.html   经在sql server 2005测试,可以通过   SELECT CAST(‘123.456’ as decimal) 将会得到 123(小数点后面的将会被省略掉)。 如果希望得到小数点后面的两位。 则需要把上面的改为 SELECT CAST(‘123.456’ as decimal(38, 2)) ===>123.46 自动四舍五入了!   自己的例子: select CAST(AmountRmb as decimal(38)) as heji,CAST(NotFinFee as decimal(38)) as whx,* from Bill_Tab

wiloon, 8/10/2013 18:36

2修改数据库和表的字符集 alter database maildb default character set utf8;//修改数据库的字符集 alter table mailtable default character set utf8;//修改表的字符集 增加字段 ALTER TABLE wap_lenovo_bookmark ADD free BIT NOT NULL DEFAULT 0 alter table MemailNodeDefine add action varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default … Continue reading

wiloon, 7/29/2013 16:28

STUFF 删除指定长度的字符并在指定的起始点插入另一组字符。 语法 STUFF ( character_expression , start , length , character_expression ) 参数 character_expression 由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。 start 是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_expression 长,则返回空字符串。 length 是一个整数,指定要删除的字符数。如果 length 比第一个 character_expression 长,则最多删除到最后一个 character_expression 中的最后一个字符。 返回类型 如果 character_expression 是一个支持的字符数据类型,则返回字符数据。如果 character_expression 是一个支持的 binary 数据类型,则返回二进制数据。 注释 可以嵌套字符串函数。 示例 下例通过在第一个字符串 (abcdef) 中删除从第二个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,创建并返回一个字符串。 SELECT STUFF(‘abcdef’, 2, 3, ‘ijklmn’) GO 下面是结果集: ——— aijklmnef (1 row(s) affected)

wiloon, 7/29/2013 16:27

http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主. 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下: 接下来我们来看应用FOR XML PATH的查询结果语句如下: SELECT * FROM @hobby FOR XML PATH 结果: 复制代码 <row> <hobbyID>1</hobbyID> <hName>爬山</hName> </row> <row> <hobbyID>2</hobbyID> <hName>游泳</hName> </row> <row> <hobbyID>3</hobbyID> <hName>美食</hName> </row> 复制代码 由此可见FOR XML … Continue reading

wiloon, 7/29/2013 15:53

create   proc   a param1   varchar(16), param2   varchar(16)   output as   如何在另一个存储过程中调用a     ,并且获得param2???? declare   @R   varchar(16) exec   a   ‘xxx’,@R   output pribt   @R

wiloon, 7/29/2013 9:41

我们这里对 SQL Server 字符串函数进行分门别类地列出,便于查阅和记忆,相信大家都在其它方面有高深的编程基础,从字面上来说大家都知道这些函数的意义,就不对这些函数作过多的解释了,主要谈些经验,具体请参见联机丛书。 ASCII(character_expression) 返回最左端字符的 ASCII 代码值 CHAR(integer_expression) UNICODE(ncharacter_expression) 按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值。 NCHAR(integer_expression) LOWER(character_expression) 以字符串中的字符小写返回 UPPER(character_expression) LTRIM(character_expression) 截断左端英文空格 RTRIM(character_expression) LEN(string_expression) 返回字符(不是字节)个数,不包含尾随的英文空格 LEFT(character_expression, integer_expression) 尾随英文空格也可能被返回 RIGHT(character_expression, integer_expression) SUBSTRING(expression, start, length) 第一个字符的位置是 1 CHARINDEX(expression1, expression2[, start_location]) expression1 在 expression2 中的位置 PATINDEX(%pattern%, expression) pattern 应该具有通配符,如同 like REVERSE(character_expression) 颠倒字符串 REPLACE(string_expression, string_expression2, string_expression3) 用第三个表达式替换第一个表达式中的第二个表达式 STUFF(character_expression, … Continue reading

wiloon, 7/22/2013 15:53

Insert是T-sql中常用语句,Insert INTO table(field1,field2,…) values(value1,value2,…)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。   1.INSERT INTO SELECT语句   语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1   要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:     –1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY … Continue reading

wiloon, 7/22/2013 12:25

http://stackoverflow.com/questions/1980738/sql-delete-with-join-another-table-for-where-condition http://stackoverflow.com/questions/652770/delete-with-join-in-mysql/29204958#29204958

wiloon, 7/19/2013 15:32

SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这两种方式还是有很多差别的。 SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。 当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。 下表列出 SET 与 SELECT 的区别。请特别注意红色部分。 set select 同时对多个变量同时赋值 不支持 支持 表达式返回多个值时 出错 将返回的最后一个值赋给变量 表达式未返回值 变量被赋null值 变量保持原值 下面以具体示例来说明问题: create table chinadba1( userid … Continue reading

wiloon, 7/11/2013 14:42

和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。 比如执行下面的SQL语句: SELECT ‘工号为’||FNumber||’的员工姓名为’||FName FROM T_Employee WHERE FName IS NOT NULL 除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句: SELECT CONCAT(‘工号:’,FNumber) FROM T_Employee 如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,比如执行下面的SQL语句: SELECT CONCAT(‘年龄:’,FAge) FROM T_Employee 与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的SQL语句在Oracle中是错误的: SELECT CONCAT(‘工号为’,FNumber,’的员工姓名为’,FName) FROM T_Employee WHERE FName IS NOT NULL 运行以后Oracle会报出下面的错误信息: 参数个数无效 如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用,上面的SQL可以如下改写: SELECT CONCAT(CONCAT(CONCAT(‘工号为’,FNumber),’的员工姓名为’),FName) FROM T_Employee WHERE FName … Continue reading

wiloon, 7/9/2013 14:01

以下的文章主要介绍的是Oracle Nvl函数,本文主要介绍的是其实际应用语法,以及实际应用的参数的介绍,以下就是相关的具体内容的相关描述,希望在你浏览之后会对你今后的学习中会有所帮助。 nvl( ) 函数 从两个表达式返回一个非 null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。 返回值类型 … Continue reading

wiloon, 6/28/2013 10:32

一 varchar,nvarchar, 四个类型都属于变长字符类型, varchar和varchar2的区别在与后者把所有字符都占两字节,前者只对汉字和全角等字符占两字节。 nvarchar和nvarchar2的区别和上面一样,   与上面区别在于是根据Unicode   标准所进行的定义的类型,通常用于支持多国语言类似系统的定义。 1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节; char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字。 char适用于长度比较固定的,一般不含中文的情况 2.varchar/varchar2 varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。 varchar同样区分中英文,这点同char。 varchar2基本上等同于varchar,它是oracle自己定义的一个非工业标准varchar,不同在于,varchar2用null代替varchar的空字符串 varchar/varchar2适用于长度不固定的,一般不含中文的情况 3.nvarchar/nvarchar2 nvarchar和nvarchar2是长度不固定的 nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数 nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节 nvarchar/nvarchar2适用于存放中文 char [ ( n ) ] 固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。 varchar [ … Continue reading

wiloon, 6/28/2013 10:27

http://www.blogjava.net/pdw2009/archive/2012/12/08/210341.html create or replace procedure delete_exceed_bound(playtype  varchar2, end07  varchar2 , end08  varchar2) is begin delete lotterydate where lotterydate.playtype=playtype and  lotterydate.lotterydate_name>end07 and lotterydate.lotterydate_name like ‘07%’; delete lotterydate where lotterydate.playtype=playtype and  lotterydate.lotterydate_name>end08 and lotterydate.lotterydate_name like ‘08%’; savepoint p1; delete province_sell_amounts where province_sell_amounts.play_no=playtype and province_sell_amounts.term>end07 and province_sell_amounts.term like ‘07%’; delete province_sell_amounts where province_sell_amounts.play_no=playtype and province_sell_amounts.term>end08 and province_sell_amounts.term like ‘08%’; delete province_winning_prize where province_winning_prize.play_no=playtype and province_winning_prize.term>end07 and province_winning_prize.term like ‘07%’; delete province_winning_prize where province_winning_prize.play_no=playtype and province_winning_prize.term>end08 and province_winning_prize.term like ‘08%’; savepoint p2; delete condition_winning_prize where condition_winning_prize.play_no=playtype and condition_winning_prize.term>end07 and condition_winning_prize.term like ‘07%’; delete condition_winning_prize where condition_winning_prize.play_no=playtype and condition_winning_prize.term>end08 and condition_winning_prize.term like ‘08%’; savepoint p3; delete open_result where open_result.play_no=playtype and open_result.term>end07 and open_result.term like ‘07%’; delete open_result where open_result.play_no=playtype and open_result.term>end08 and open_result.term like ‘08%’; exception when others then dbms_output.put_line(sqlerrm); rollback to savepoint p1; end delete_exceed_bound; 保存点(SAVEPOINT)是事务处理过程中的一个标志,与回滚命令(ROLLBACK)结合使用,主要的用途是允许用户将某一段处理回滚而不必回滚整个事务。   如果定义了多个savepoint,当指定回滚到某个savepoint时,那么回滚操作将回滚这个savepoint后面的所有操作(即使后面可能标记了N个savepoint)。 在一段处理中定义了3个savepoint,从第2个savepoint回滚,后面的第3个标记的操作都将被回滚,如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK,将会滚整个事务处理。  

wiloon, 6/28/2013 9:45

  建表的时候,如果是浮点数,一般设置为 number(m,n )[m为精度,n为小数位数,所以整数为m-n位],  整数设置为integer; 比如: create table abc (  a number(38,0), b number(38) c integer, d number ) 那么a,b,c,d 分别有什么区别呢? a,b其实是一样的,都是38位的范围; c是不是和a,b一样呢?测试后是不一样的,c的最大值可以达到9e125,显然远远地大于38位的范围; d和a,b,c有什么区别呢,首先d可以放小数,另外它的范围同样远远大于38位; 具体这a,b,c,d四种类型的明确差异,我也说不清楚,希望有专家把它解释清楚,我这里只是抛砖引玉。 以前我一直以为 integer=number(38,0) –38是number的最大精度 刚才无意中发现integer 是个超大的数据类型,最大可以表示为power(10,126)-1 也就是说这么大的数字,大概需要多少个字节呢, 因为一个字节最大表示256,那么N个字节最大表示power(256,n)>=power(10,126) 现在求这个N:解法是: select  LOG(256,10)*126   from dual 求得的解是 53, 也就是说,一个integer类型最少使用53个字节。 所以我觉得Integer类型还是尽量少用,一般很少用到这么大的数字; 特别是某些人对于boolean类型的处理; 因为Oracle的表结构中没有布尔类型,所以很多人干脆用integer … Continue reading

wiloon, 6/28/2013 9:44

http://blog.csdn.net/wh62592855/article/details/4736501 1、PL/SQL错误类型 错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理子程序引发并进行捕获     2、异常的声明 有两种异常:用户自定义异常和预定义异常   用户自定义异常就是由程序员自己定义的一个错误。该错误还不是非常重要,所以并没有将整个错误包含在Oracle的错误中。例如,它可能是一个与数据有关的错误。而预定义异常则对应于一般的SQL和PL/SQL错误。   用户自定义异常是在PL/SQL块的声明部分声明的。像变量一样,异常也有一个类型(EXCEPTION)和有效范围。例如:   view plaincopy DECLARE   Exception_name EXCEPTION;   …           3、异常的引发 与异常相关联的错误发生的时候,就会引发相应的异常。用户自定义异常是通过RAISE语句显式引发的,而预定义异常则是在它们关联的ORACLE错误发生的时候隐式引发的。如果发生了一个还没有和异常进行关联的ORACLE错误的时候,也会引发一个异常。该异常可以使用OTHERS子程序进行捕获。预定义的异常也可以使用RAISE进行显式地引发,如果需要这样做的话。     view plaincopy … … Continue reading

wiloon, 6/27/2013 13:04

  sysdate+1 加一天 sysdate+1/24 加1小时 sysdate+1/(24*60) 加1分钟 sysdate+1/(24*60*60) 加1秒钟

wiloon, 6/27/2013 10:39

sqlplus system/manager@192.168.208.120:1521/orcl sqlplus sys/PASSWORD@ip:port/orcl as sysdba     tnsnames.ora示例如下: ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.208.120)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 以上文件中,ORCL是个连接标示符,可以自己修改,HOST是远程Oracle服务器的地址,PORT是Oracle的服务端口,没有修改过的话,默认是1521。Service_name是远程实例名称。 使用sql-plus连接 命令行下执行sqlplus /nolog 进入sqlplus提示符,输入 connect / @<连接标识符> … Continue reading

next page
辽ICP备14012896