SQL SERVER2008
phoenix_cat
这个作者很懒,什么都没留下…
展开
-
1900年1月1日
DB里如果一个dateTime是空串的话,那么它被拿出来的值就是1900年1月1日原创 2011-08-16 13:38:43 · 384 阅读 · 0 评论 -
DB取双最大值的一种复杂情况
关于DB复杂查询的研究:一个DISCOUNTNO(贴现发放流水号),对应多个REGNO,一个REGNO对应多个修改次数;同时REGNO在另一张表里也是对应多个修改次数复杂查询表格示例:id name address modifyCnt amendCntzs zs sh 0 50zs zs sh 1 51zs zs sh 2 52zs zs sh 3 53...原创 2011-08-22 14:51:48 · 88 阅读 · 0 评论 -
SQL OVER用法
sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,其中PARTITION BY 为分组字段,...原创 2011-09-01 17:19:55 · 108 阅读 · 0 评论 -
JAVA数据连接池
一直以为对数据库连接池感到非常神秘。 今天终于花时间研究了一下。 首先说下数据库连接池的工作原理: 以前程序连接数据库都是建立一条物理连接,用完之后就会关闭。而在有大量连接的时候,这种建立连接和关闭连接会很影响性能。所以像webLogic这种服务器会建立一个资源池(Resource Pool或者Connection Pool),每次有连接过来时,就将资源池中的一个连接分配...原创 2011-09-14 11:17:50 · 77 阅读 · 0 评论 -
SQL SERVER字符串转时间
cast( '2011-09-11' as datetime) SQL中,由cast/convert来统一进行所有的数据类型之间的转换。原创 2011-09-21 12:39:20 · 472 阅读 · 0 评论 -
tomcat myeclipse sqlserver项目配置详情_SQLServer篇
1、在myeclipse6左边空白处右击import,导入存放的项目,这里命名为testProject 2、在window\refrence\myeclipse\server,导入tomcat5.5的目录,并在bin目录浏览选入jdk的bin目录。 3、deploy,将tomcat的webpps目录与myeclipse的workspace绑定。选择工具栏上的...原创 2011-09-30 11:14:14 · 235 阅读 · 0 评论 -
安装sql server2008注意事项
在安装英文版本时,选择第一个Add new installation or add features to an existing installation. 否则会报错:cluster failover node.原创 2011-10-13 14:46:26 · 178 阅读 · 0 评论 -
SQL2008序列号
我安装的版本是:sqlfull_x86_enu(英文版),如果想装中文的话就是sqlfull_x86_chs。 开发者版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB 企业版:JD8Y6-HQG69-P9H84-XDTPG-34MBB。 ...原创 2011-07-23 00:01:02 · 127 阅读 · 0 评论 -
sqlserver2008 jar驱动
JAVA要连接SQL SERVER2008,必须要用JDBC驱动。 要注意的是SQL SERVER2008和SQL SERVER2008 R2不一样。SQLSERVER 2008的可以用2.0,然后SQLSERVER 2008 R2只能用3.0.否则报错呀。 SQL SERVER2008:Microsoft SQL Server JDBC Driver 2.0下载地址: h...原创 2011-10-15 21:53:52 · 513 阅读 · 0 评论 -
jdbc实例
import java.sql.*; class Testj{ public static void main(String args[]) { String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB"; Stri...原创 2011-10-17 23:22:11 · 79 阅读 · 0 评论 -
java.lang.Exception: org.springframework.jdbc.UncategorizedSQLException
就是sqljdbc的问题。 要么就是sqljdbc的驱动不对,要么就是驱动对了,但是tomcat没有找到。 下面将详细分析这一问题:问题1、首先根据数据库版本,驱动使用最新版本。比如我的是sql server 2008 r2,就必须得用sqljdbc4,将它放到tomcat_home/lib里面。 问题2、驱动升级到最新的sqljdbc4了,但是还是报这个错误。...原创 2011-10-24 16:38:15 · 962 阅读 · 0 评论 -
SQL Server到底需要使用哪些端口
参考URL:http://blog.csdn.net/studyzy/article/details/4909469原创 2011-10-24 16:46:41 · 311 阅读 · 0 评论 -
smallint和tinyint什么区别
最主要的区别就是占用的字节数大小问题。我们知道在JAVA中,int型占用的就是4个字节。同样在数据库中其实也是这样的。int占4个字节,smallint占2个字节,tinyint占1个字节。具体细节如下: bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大...原创 2011-10-26 09:30:08 · 291 阅读 · 0 评论 -
查看sqlserver表结构命令
1、exec sp_columns 表名代码如下:exec sp_columns T_SHEET_ACCEPT_23 注意到:上述报告的结果中,column_name是表示列名的。type_name表示数据类型的。而且此命令不适用于临时表或者通过链接服务器得到的表,换句话,可能只适用于本地数据库。select * from informat...原创 2011-10-26 10:05:53 · 584 阅读 · 0 评论 -
将字符串插入到DOUBLE中
假设表中的BillAmt字段是在DB中是decimal型的。 如果你将一个字符串插入到这个BillAmt字段中,也是没有错的。 前提是这个字符串是可以转换成数字的。 insert into B_AcpnExecBill(RefNo,BookingBranch,RoundNo, BillAmt,DelFlg,UpdUser,UpdDate) values('1001...原创 2011-08-08 15:48:23 · 190 阅读 · 0 评论 -
decimal(18,4)是什么意思
decimal(18,4)表示小数和整数加起来是18位,其中小数是4位。 传说中的decimal(numeric) 详情参见URL:http://www.chinaret.com/user/topic_view.aspx?id=e2fa4bee-d532-4317-8e95-055c59816473...原创 2011-08-08 17:40:21 · 4294 阅读 · 0 评论 -
sql 联合主键
1、建表后ALTER方式加主键 ALTER TABLE 表名 WITH NOCHECK ADD CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED ( [字段名1], [字段名2] ) 这段代码要求原来的表设计是,这个字段不允许为空。 如果之前是允许为空的...原创 2011-08-12 12:56:49 · 362 阅读 · 0 评论 -
CHARINDEX用法
select case WHEN CHARINDEX('1425,',inquiry.Q441)>0 and CHARINDEX('1426,',inquiry.Q441)=0 THEN '01' WHEN CHARINDEX('1426,',inquiry.Q441)>0 and CHARINDEX('1425,',inquiry.Q441)=0 THEN '02'...原创 2011-12-12 16:50:13 · 515 阅读 · 0 评论 -
SQL中连接字符串例子
SQL中连接字符串用+号,示例如下:convert(varchar(100),task.LASTCALLDATE,23)+':'+convert(varchar(100),task.LASTCALLDATE,24) as cdate,原创 2011-12-16 18:02:39 · 137 阅读 · 0 评论 -
如何将一个表某个字段更新进另一个表
一开始以为要用游标,但没想到网上有高人指点,代码如下: update yc.dbo.T_CUST_CUSTINFO_12 set yc.dbo.T_CUST_CUSTINFO_12.a611=n.a611,yc.dbo.T_CUST_CUSTINFO_12.a612=n.a612,yc.dbo.T_CUST_CUSTINFO_12.a613=n.a613,yc.dbo.T...原创 2011-12-22 21:11:25 · 136 阅读 · 0 评论 -
sql server 表别名性能低 临时表性能高
看以下例子: select * from ( select * from b left join c on xx=xx left join d on xx=xx left join e on xx=xx)as a where a.xx=xx 由于a是一个很复杂的东西,关键a是别名出来的。那这种写法将会非常耗时。 但是如果将select * from...原创 2011-12-22 21:18:48 · 367 阅读 · 0 评论 -
如何删除完全重复的数据
下面仅讲在ORACLE中的例子:我们可能会出现这种情况,某个表原来设计不周全,导致表里面的数据数据重复,那么,如何对重复的数据进行删除呢?重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样。一、对于部分字段重复数据的删除先来谈谈如何查询重复的数据吧。下面语句可以查询出那些数据是重复的:select 字段1,字段2,cou...原创 2011-12-29 18:41:44 · 230 阅读 · 0 评论 -
还原数据库时提示不能独占
在还原数据库经常会看到这句话。原因就是有别的连接还对数据库操作。解决办法如下:(用数据库的联机功能,执行了半天好像没成功,不知道什么原因) ALTER DATABASE [数据库名] SET OFFLINE WITH ROLLBACK IMMEDIATE 会提示估计数据库回滚到100%。如果回滚成功,此时DB会切换到脱机状态,将其联机后再还原DB即可。 如果...原创 2012-01-04 17:32:48 · 212 阅读 · 0 评论 -
SQL日期比较函数
对于DB中的datetime类型的,我们常常需要转化成日期型,再去做各种比较。 其实我们还可以直接用日期函数进行比较。 select * from T_QUESTIONNAIRE_TASK where datediff(dd,createdate,getdate())=0 这句话就是说离今天0天前的,其实就是指所有日期为今天的数据啦。 ...原创 2012-01-05 10:41:38 · 940 阅读 · 0 评论 -
not exists用法 再举例
这个鸟东西,每次用它都郁闷啊! 举个例子吧,假如有2张表,表结构一样,一张称为tableOld,一张称为tableNew。 其中有个字段ID。 tableOld有1000条数据,而tableNew数据有1050条数据。 其实在新表中的1050条数据包括了旧表的1000条数据,那么现在想把这50条数据找出。 该如何办呢? 错误解法: sele...原创 2012-01-05 17:37:43 · 547 阅读 · 0 评论 -
去重 存储过程
见如下代码:是多表操作的。1、存储过程里可以写临时表的,但这里用的是exec语句创建的临时表。同时存储过程里不能写临时表的表名,因为临时表是动态创建的,当时并不存在,所以存储过程会报错。2、注意到:这里的临时表用完后不用drop,它是自动删除的。3、exec里面好像只能执行一个命令,就比如说你有很多个select,delete啊那就不行了。所以只能一条一条来。4、存储过程里不能有g...原创 2012-01-05 22:57:53 · 405 阅读 · 0 评论 -
exec用法
示例一:直接执行SQL语句串。代码如下: declare @interDay bigint set @interDay=2exec('select distinct * into #tmpActivity from test.dbo.dActivityCodeStat where datediff(dd,timestamp,getdate())='+) 这...原创 2012-01-05 23:06:34 · 115 阅读 · 0 评论 -
关于删除完全重复的记录
在数据库里面,如果对于完全删除重复的记录,个人觉得用distinct和临时表技术比较给力,而且性较高。如果用ROW_NUMBER()函数,不仅思路非常麻烦,而且性能差。 但是在只有部分重复的数据表情况下,想要保留最新的那条数据,可以用ROW_NUMBER()函数,取最大的rowId。 关键语句如下:注意到ROW_NUMBER()一般结合over使用的。 select *...原创 2012-01-05 23:22:18 · 145 阅读 · 0 评论 -
sa登录失败 18456
Case1:密码错误也会报这样的错误。 Case2:用windows身份登录。然后在登录的实例上右击点属性/安全性,选成混合登录即可。 需要重启SQL服务。 refurl:http://topic.csdn.net/t/20060228/20/4584228.html ...原创 2012-04-27 17:22:36 · 97 阅读 · 0 评论 -
sqlserver占用内存越来越大
这个是因为SQL SERVER会不断的增加内存,一直到达到最大内存后才会释放之前占的内存。 方法是在实例上右击,将最大内存调到相应大小就行了。 不要指望AWE,因为这个功能是对32位机器使用大内存用的,而且这个功能在下一代SQL SERVER中将会删除。 refurl:http://technet.microsoft.com/zh-cn/library/ms19...原创 2012-04-27 21:42:50 · 1253 阅读 · 0 评论 -
sql日期格式化
注意:说是日期格式化,其实本质上是将它化成了字符串。Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GET...原创 2011-11-15 15:01:04 · 73 阅读 · 0 评论 -
关于用insert命令插入带自增量的注意事项
1、如果用insert命令插入新数据时,请无视ID(自增量)。也就是说insert into table(field1,field2) values('123','456')。并不关心ID的值。但ID自己会自动更新。 2、如果是在SQL SERVER2008里面,直接从editPlus中复制一行过来时,要将ID考虑进去,但它的值无所谓,但此字段必须要用的。...原创 2011-11-16 12:16:00 · 769 阅读 · 0 评论 -
sql named pipes
这个和SQL 的TCP/IP放在一个地方的。 sql2008操作步骤如下: Microsoft SQL Server 2008 R2\配置工具\SQL Server配置管理器\Sql Server网络配置\MSSQLSERVER的协议,在右侧将看到Named Pipes,右击开启。 refurl:http://hi.baidu.com/love5love/blog/i...原创 2012-05-24 11:38:21 · 173 阅读 · 0 评论 -
存储过程if怎么写
IF @@FETCH_STATUS=0 BEGIN ...................................... END ELSE BEGIN ...................................... END 注意:不需要THENrefurl:http://topic.csdn.net/t/20060223...原创 2012-05-26 14:42:02 · 175 阅读 · 0 评论 -
sqlserver2008 jdbc
在微软官网下的sqlserver2008 jdbc 2.0驱动,解压下来是2个包,一个包是sqljdbc.jar,另一个是sqljdbc4.jar。 其实sqljdbc.jar仅支持JDK5.0。 而sqljdbc4.jar仅支持JDK6.0。 切记! 另外:这个和SQL SERVER2008是32位还是64位的没有关系。 refurl:http://www...原创 2012-05-28 16:35:13 · 197 阅读 · 0 评论 -
dts导入excel 步骤
将EXCEL数据导入到数据库有好多种方式,如下: 1、SQL Server 数据传输服务 (DTS)2、Microsoft SQL Server 2005 Integration Services (SSIS)3、SQL Server 链接服务器4、SQL Server 分布式查询5、ActiveX 数据对象 (ADO) 和 Microsoft OLE DB Prov...原创 2012-05-31 16:14:48 · 419 阅读 · 0 评论 -
该帐户当前被锁定,所以用户 'sa' 登录失败。系统管理员无法将该帐户解锁。(Microsoft SQL Server,错误: 18486)...
1、如果短时间内不停连接,就会被SQL SERVER误认为是这是攻击,会将此账号锁定。要用windows方式登录,在查询分析器里输入:ALTER LOGIN sa ENABLE ;GOALTER LOGIN sa WITH PASSWORD = '' unlock, check_policy = off, check_expiration = off ;GO 2、...原创 2011-11-17 12:33:28 · 1256 阅读 · 0 评论 -
特殊SQL共享
一段很特殊的SQL select 'go1234'= case when optionid=1414 then 'gosuccess' end from T_QUESTIONNAIRE_BRANCH_OPTION 一般是select optionid as 'go1234',而这个SQL是把字段名写在前面,后面写字段内容。。奇怪。。一般用在cas...原创 2011-11-17 17:47:13 · 74 阅读 · 0 评论 -
行列转换研究帖
http://topic.csdn.net/u/20080614/17/22e73f33-f071-46dc-b9bf-321204b1656f.html原创 2011-11-24 21:14:32 · 87 阅读 · 0 评论 -
delete from不可以别名吗
比如,删除test表,用delete from test t1这话是提示错误的。 应该这样写:delete test from test t1 这样就可以删除表时用别名了。 原理是只删除delete后面的东西。即使from写的是别的表。 比如我虚拟一个表叫User表那么上面语句还可以这样写:delete test from User t1...原创 2011-11-24 21:24:14 · 300 阅读 · 0 评论