数据库相关
oracle、sql server
drscode字段中存储的数据格式为 'aaa,bbb,ccc' 现在只想取出drscode中的bbb 下面是使用得sql:
select t.drscode,substr(t.drscode,instr(t.drscode,',',1)+1,instr(t.drscode,',',1,2)-instr(t.drscode,',',1)-1) aaa from kensa_order t where t.id='7800220'
instr(string1,string2[,a][,b])
这个是orcale内置SQL函数,返回的是一个数字,表示string1中包含string2的位置,a和b是可选参数,a表示起始位置,当a为负数时表示从右开始查找; b表示string2在string1中出现的次数,也就是第b次出现string2时将位置返回。a和b的缺省值都是1,即返回在string1中第一次出现string2的位置。
substr(string,a [,b])
这个是orcale内置SQL函数,返回的是string的一部分,从字符位置a开始,长为b个字符,当a为负数时表示从右边开始截取。
本篇文章使用aigaogao Blog软件发布, “我的Blog要备份”
lpad格式是 lpad(char1,n,char2)
LPAD returns char1, left-padded to length n with the sequence of characters in char2; char2 defaults to a single blank. If char1 is longer than n, then this function returns the portion of char1 that fits in n.
LPAD ('55', 10, '0') ==> '0000000055'
本篇文章使用aigaogao Blog软件发布, “我的Blog要备份”
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp
system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp
system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp
system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp
system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接
(通过net8 assistant中本地-->服务命名 添加正确的服务命名
其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)
这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径,
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。
注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
本篇文章使用aigaogao Blog软件发布, “我的Blog要备份”
摘要:在 Oracle 10g 以前的版本,更改表空间名字是几乎不可能的事情,除非删除,重新创建,大费周章。Oracle 10g 新添加了一项更改表空间名字的功能,使得更改表空间名字瞬间即可完成。是个较为人性化的功能。 (全文共6030字)——点击
此处阅读全文
摘要: 以前在做一个系统时,遇到了一个问题!今天无意之中找到了这个问题的解决方法,贴出来!!!问题描述:varchar2(4000) abc;intert into table_name(abc) values('这里有1500个汉字……');报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!问题所在:使用的字符集是UTF8,就有可能出现这个错误!使用命令查看:SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';PARAMETER--------------------------------------------------------------------------------VALUE (全文共1276字)——点击
此处阅读全文
摘要:1.书写格式 示例代码: 存储过程SQL文书写格式例 select c.dealerCode, round(sum(c.submitSubletAmountDLR + c.submitPartsAmountDLR + c.submitLaborAmountDLR) / count(*), 2) as avg, decode(null, 'x', 'xx', 'CNY') from ( select a.dealerCode, a.submitSubletAmountDLR, a.submitPartsAmountDLR, a.submitLaborAmountDLR from SRV_TWC_F a where (to_char(a.ORIGSUBMITTIME, 'yyyy/mm/dd') >= 'Date Range(start)' and to_char( (全文共14500字)——点击
此处阅读全文
摘要: 一.SELECT语句的完整语法为:
SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
FROM tableexpression[,…][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION] (全文共11302字)——点击
此处阅读全文
摘要:Oracle 默认的XML DB把HTTP的默认端口设为8080,这是一个太常用的端口了,很多别的WebServer都会使用这个端口,所以我们需要修改它。方法三种:1。dbca,选择你的数据库,然后Standard Database Features->Customize->Oracle XML DB option,进入这个画面你应该就知道怎么改了。2。OEM console,在XML Database 的配置里面修改3。用oracle提供的包:-- 把HTTP/WEBDAV端口从8080改到8081SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081))/-- 把FTP端口从2100改到2111SQ (全文共28680字)——点击
此处阅读全文
摘要:--语 句 功 能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA -- (全文共11420字)——点击
此处阅读全文