随笔分类 - DataBase
SQL Server,Oracle,MySQL,Sysbase
补补 MSSQL Case when用法
摘要:Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
--比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
WHEN col_1 IN ('a') THEN '第二类'
ELSE'其他' END
下面我们来看一下,使用Case函数都能做些什么事情。
一,已知数据按照另外一种方式进行分组,分析。
有
阅读全文
数据库 可疑 解决方法
摘要:USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE MyDB SET EMERGENCY
GO
sp_dboption 'MyDB', 'single user', 'true'
GO
DBCC CHECKDB('MyDB','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE MyDB SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'MyDB', 'single user', 'false'
GO
阅读全文
查询ms sql 2005版本号
摘要:SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
阅读全文
查询重复记录数
摘要:select count(num), max(name) from student --查找表中num列重复的,列出重复的记录数,并列出他的name属性 group by num having count(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次
阅读全文
维护Sql Server中表的索引
摘要:维护Sql Server中表的索引
--第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100%
declare @table_id int
set @table_id=object_id('表名')
dbcc showcontig(@table_id)
--第二步:重构表索引
dbcc dbreindex('表名',pk_索引名,100)
--重做第一步,如发现扫描密度/Scan Density还是小于100%则重构表的所有索引
--并不一定能达100%。
dbcc dbreindex('表名','',100)
阅读全文
sql server不存在或访问被拒绝
摘要:问题出现在五一,真是休假睡懒觉的时候,突然接到客户的电话说网页打不开。
事情是这样的,五一前期我完成了一个客户的分析系统,用.net+sql server,在公司测试没有任何问题。于是我认为万无一失,在4月30日把系统装入客户的笔记本交付使用了。结果五一出现了上述问题。通过电话沟通我没有找到问题的原因,于是建议他连上网络试一试,客户接上了一个集线器后果然就可以使用了。
今天拿回笔记本电脑,终于找到了问题的原因,我没有给sql2000打sp3补丁(听说打sp4都不行),打上sp3后断了网也照样用。
记下这个问题,也许有人会出现我同样的问题哦!!!
阅读全文
转几个实用的sql函数。
摘要:--将阿拉伯数字的钱转换成大写金额
CREATE function to_up(@num numeric(14,2))
returns varchar(100)
as
begin
declare @ndata varchar(20),@cdata varchar(100)
declare @nstr varchar(10),@zflag bit,@t varchar(10),@i int
set @ndata=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100) AS bigint) AS varchar(20)),14)
set @cdata=''
set @zflag=0;set @i=1
while @i begin
set @nstr=substring(@ndata,@i,1)
if @nstr'
阅读全文
一个不大注意的存储过程的小细节。
摘要:看下面这个存储过程 create proc pGetInforArticleDataBySearch@autoTypeCode as varchar(6),@autoFittingCode as varchar(3),@keyword as nvarchar(10)asbeginset @autoTypeCode='%'+@autoTypeCode+'%...
阅读全文
@@Identity
摘要:Many TSQL books show you how to use @@Identity to get the identity of the most recently added row. Many articles online, or in magazines show the same. What you might not know is that it is potentially a source for some very hard to trace bugs in your application.
@@Identity is potentially a very, very bad thing! In almost every case, you should use scope_identity() instead.
Why? @@Identity returns the most recently created identity for your current connection. When you first u
阅读全文
Oracle 的入门心得【强烈推荐】
摘要:oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路。 一、定位 oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉...
阅读全文
关于p4安装oracle解决方法
摘要:P4的计算机最好安装oracle 9i 如果不方便的话可以按照以下的方法安装oracle 8i (其实也不是所有的p4cpu都不可以安装oracle8 i 我的一台p4 1。7 安装oracle 8.1.6就一点问题没有) 在p4机器上安装oracle 8i 一、系统环境及准备工作 硬件: intel p4的处理器 256m的内存 硬盘有三个分区c、d、e,光驱为f 软件: 操作系统windows...
阅读全文
数据类型参数描述
摘要:char(n)n=1 to 2000字节定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)varchar2(n) n=1 to 4000字节可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如...
阅读全文
安装oracle817后出现的问题
摘要:安装oracle817以后,asp.net连不上oracle,我打开vs断点调试后,发现报错“无法加载DLL(OCI.DLL)”。我重新启动电脑后,发现默认的站点打不开了,原来oracle把我的80端口占用了,并且一个劲的报错:“java.exe-应用程序错误"。解决方法:停止服务OracleOraHome81HTTPServer。一切搞定
阅读全文
Oracle中的各个应用服务详解(英文)
摘要:OracleOraHome81Agent - Oracle Intelligent Agent. Similar to SNMP. Used with OEM, among other things.OracleOraHome81AppServerListener - Listener for Oracle AppsOracleOraHome81ClientCache - Used f...
阅读全文
为什么oracle中,sequence增加,而数据却没有增加?
摘要:前几天考试系统出了问题,开始以为是程序的问题,于是检查了好久的源程序,断点调试了n遍,没有发现问题。程序也没有人动过,怎么会突然出问题呢!于是就找其他的问题,打开oracle数据库,发现一个问题,sequence增加了,可是数据确一个也没有增加,而在我的存储过程中捕捉错误也不是那么完善,所有在页面上没有报错。到底是什么原因呢?没有办法,只好打开pl/sql写了一个insert语句,这个时候,问题出...
阅读全文
COMPATIBILITY参数需要是8.1.0.0.0或更大?
摘要:ORA-00406:COMPATIBILITY参数需要是8.1.0.0.0或更大修改参数,文件在%oracle_home%\admin\sid_name\init.ora(sid_name是你的sid名)compatible=8.1.0,然后重起
阅读全文
oracle中如何取前十条记录?
摘要:oracle中取前十条记录!select * from(select * from table order by id desc) where rownum<=10
阅读全文
如何随机显示记录条数的15% ?
摘要:在数据表里,随机显示记录条数的15%,如何实现?1是随机显示2是显示总记录的15% 这两个都要同时实现!--------------------------------------------------------------------------Select top 15 percent * FROM [products] order by newid()
阅读全文
SQL注入攻击的原理及其防范措施
摘要:ASP编程门槛很低,新手很容易上路。在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。在界面的友好性、运行性能以及网站的安全性方面是新手与老手之间区别的三个集中点。而在安全性方面,新手最容易忽略的问题就是SQL注入漏洞的问题。用NBSI 2.0对网上的一些ASP...
阅读全文
浙公网安备 33010602011771号