随笔分类 -  数据库

上一页 1 ··· 3 4 5 6 7
摘要:有关datediff的相应信息,见如下:DATEDIFF (datepart ,startdate ,enddate )datepart是指定所跨边界类型的 startdate 和 enddate 的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。datepart缩写yearyy, yyyyquarterqq, qmonthmm, mdayofyeardy, ydaydd, dweekwk, wwhourhhminutemi, nsecondss, smillisecondmsmicrosecondmcsnanosecondnsstartdate是一个表达式 阅读全文
posted @ 2012-09-19 09:27 沙耶 编辑
摘要:获取时间得系统函数SYSDATETIMEOFFSET() ,SYSUTCDATETIME(),CURRENT_TIMESTAMP ,GETDATE() ,GETUTCDATE();具体说明请见:current_timespamp 阅读全文
posted @ 2012-09-19 09:21 沙耶 编辑
摘要: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,...) selec... 阅读全文
posted @ 2012-09-18 12:37 沙耶 编辑
摘要:SELECT T3.FRAMENO AS FRAMENO , CASE WHEN T3.WalkDistanceCount = 1 THEN 'L1' WHEN (T3.MaxWalkDistance - T3.MinWalkDistance)/(T3.WalkDistanceCount - 1) < 4999 THEN 'L4'WHEN (T3.MaxWalkDistance - T3.MinWalkDistance)/(T3.WalkDistanceCount - 1) BETWEEN 5000 AND 5999 THEN 'L5'WH 阅读全文
posted @ 2012-09-17 13:03 沙耶 编辑
摘要:SQL OVER开窗函数1.使用over子句与rows_number()以及聚合函数进行使用,可以进行编号以及各种操作。而且利用over子句的分组效率比group by子句的效率更高。 2.在订单表(order)中统计中,生成这么每一条记录都包含如下信息:“所有订单的总和”、“每一位客户的所有订单的总和”、”每一单的金额“关键点:使用了sum() over() 这个开窗函数如图:代码如下: select customerID, SUM(totalPrice) over() as AllTotalPrice, SUM(totalPrice) over(partition by cust... 阅读全文
posted @ 2012-09-17 11:21 沙耶 编辑
摘要:数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQLServer数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。一、删除LOG1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。勾选删除连接分离后在数据库列表将看不到已分离的数据库。2、删除LOG文件3、附加数据库,附加的时候会提醒找不到log文件。删除数据库信息信息的ldf文件:附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。也可以通过命令才完成以上的操作:use master 阅读全文
posted @ 2012-09-04 15:47 沙耶 编辑
摘要:给个通俗的解释吧.例表aaid adate1 a12 a23 a3表bbid bdate1 b12 b24 b4两个表a,b相连接,要取出id相同的字段select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.此时的取出的是:1 a1 b12 a2 b2那么left join 指:select * from a left join b on a.aid = b.bid首先取出a表中所有数据,然后再加上与a,b匹配的的数据此时的取出的是:1 a1 b12 a2 b23 a3 空字符同样的也有right join指的是首先取出b表中所有数据,然 阅读全文
posted @ 2012-09-03 17:25 沙耶 编辑
摘要:1. ORACLE SELECT * FROM TABLE1 WHERE ROWNUM<=N HQL: from table1 t order by t.createTime desc where rownum<=n2. INFORMIX SELECT FIRST N * FROM TABLE13. DB2SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N或者SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY4. SQL SERVERSE 阅读全文
posted @ 2012-09-03 16:40 沙耶 编辑
摘要:1.得到字符串中的第一个字符的 ASCII 值 代码 ASCII(STR) select ASCII('ABCD') FROM DUAL; 结果: 65 2.得到数值 N 指定的字符 代码 CHR(n) select CHR(68) from dual; 结果:D 3.连接两个字符串 代码 CANCAT(char1,cahr2) 和 || select concat('abc','defg') from dual; select 'abc'||'defg' from dual; 结果: 'abcdefg&# 阅读全文
posted @ 2012-09-03 16:31 沙耶 编辑
摘要:作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表;当处理大数据量是,该方法的效率很高。语法:MERGE INTO[your table-name] [rename your table here]USING( [write your query here] )[rename your query-sql and using just like a table]ON([conditional expression here] AND [...]...)WHEN MATHED THEN[here you can execute some update sq 阅读全文
posted @ 2012-09-03 16:24 沙耶 编辑
摘要:最近用DB2,数据库之间的差异还是很大的,好多函数都不一样1.去空格*DB2中:Ltrim()是去左边空格,rtrim()是去右边空格。*informix中:trim()就是去空格。用法:例:string a=" abc "; *DB2中:Ltrim(a)="abc ";rtrim(a)=" abc",rtrim(ltrim(a))="abc"; *informix中:trim(a)="abc".注意:DB2中无trim()函数,所以要去空格要执行左右去空格。2.取值若为空值,用另外一个值代替 阅读全文
posted @ 2012-08-27 09:51 沙耶 编辑
摘要:启动该服务,并改为自动启动:OK! 阅读全文
posted @ 2012-08-15 16:42 沙耶 编辑
摘要:--不是说的In,Not IN分页方式,也不是通常的双OrderBy方式,这是使用于千万级别数据分页的SQL语句:--orderid 1:1028 10:10257 20:10267 30:10277--查询第20-30条select top 10 * from Orders where OrderID> (select max(OrderID) from (select top 20 OrderID from Orders order by OrderID ASC ) t0)order by OrderID ASC 阅读全文
posted @ 2012-08-08 17:21 沙耶 编辑

上一页 1 ··· 3 4 5 6 7