Storm_Center

病毒安全知识,电脑网络技术,手工杀毒方法,答疑解决笔记

导航

Oracle的substr函数

  前两天被网上随手查的信息坑了,查一下Oracle函数substr的用法,平时懒得去记,到用时才去查,查到的函数用法是:substr(字串,起始位[,截取长度])。这就是一个截取字符串的函数,长度可省略,省略即为从截取位开始直到字串结尾的所有字符,这个起始位可为负数,负数就是从字串结尾开始数。

Oracle获取表的所有列名

  想用insert into将一个表的数据导入另一个表,但两个表的列并不一样,后一个表比前者少几个,相同部分的名称是一样的,所以想直接获得目标表的所有列名,然后再从源表中导出这些列的数据insert。要获得一个表的所有列名,Oracle有几个SYS下的视图可以做到

Oracle用于排名的函数

  rank()在Oracle中可用于排名,属于分析函数,rank() over ([partition by 分区字段1[,分区字段2...] order by 排序字段 asc|desc)。分区字段可有多个,用逗号分隔,也可使用函数,如rank over (partition by 部门,trunc(日期,'mm') order by 钱 asc),,这样就分部门按月份对发的钱进行排序。

Oracle计算月差

  原先在一个计算费用的Oracle视图中用来计算月数的算法是只要求30天算一个月,于是只要总天数除以30就可以,在Oracle中用ceil函数取大于或等于两个日期相减结果的最小整数,即有小数就往上取整,ceil(date1-date2)。后来计算月份的规则变了,不足一个月按一个月算,跨月份就算两个月,这样就得计算出月差才能确切地求出现在的月数,在Oracle中这个函数是months_between

Win10安装Oracle10g

  Win10是安装在我的办公电脑上,为了运行公司自己的软件而不用老切换到XP,就想在Win10下安装公司软件要用到的Oracle10g。win10是64位的,Oracle10g应该是32位的,因为是客户端所以不用安装全部,只要网络服务部分就够了。

查找重复项

  oracle查询出了一错,提示说返回的数据多于一行,猜想哪个子查询中有重复值,把子查询单独拎出来导出一堆数据,想想如何从里面找出重复项。在oracle里可以用having count(*)>1的方法,……

Oracle的CHAR和VARCHAR2

  Oracle的CHAR类型是固定长度,VARCHAR2不是固定长度,只有最大长度,所以VARCHAR2比CHAR节约,但没有CHAR效率高。而CHAR在进行比较时是使用blank-padded语义 ,即自动填充空格,使比较中的两个CHAR类型达到长度相同,VARCHAR2使用nopadded,不自动填充空格。

Toad DBA Suite 和Toad Development Suite的区别

  这两个版本都包括了Toad、Sql Optimizer、Data Modeler、Toad DataAnalysi、Konwledges等基本软件。DBA版又增加了Spotlight On Oracle单机版,Development版则增加了Benchmark for Oracle和Code Tester这两个软件。可以认为DBA版和开发版是不同的打包方式。

Oracle中的空字符串与instr

  一个decode的SQL语句老是筛不出想要的数据,应该是判断的字段包括了NULL,instr无法对其行使正常的查找。Oracle中的instr,在被查找的字符串中找得到要查找的字符串,就返回其所在的位置数值,找不到就返回0,而如果被查找的字符串是NULL,就返回不了任何东西。

Oracle的trunc函数

  Oracle中的trunc函数用于不四舍五入地截取数字或日期,不过它不仅仅是取整那么简单。比如要做个累计报表,需要从数据库中定期取出某月固定一天或某周固定周几开始的数据累计,可用trunc(sysdate,'mm')取当月第一天的日期,或trunc(sysdate,'d')取当周第一天的日期(以周日为一周第一天)。

Oracle中的“if else”

  在Oracle的SQL语句中要用到条件判断,除了decode外,还有case when。decode只能进行等式比较判断,如decode(字段,值1,结果1,值2,结果2,...,值n,结果n,默认值),当所选字段等于值1时,取结果1,等于值2时,取结果2,……,最后都不等时取默认值,而case when除了等于,可以使用大于、小于的比较,可以替代decode,更象“if ...else...”。

Oracle左连接中的条件子句

  Oracle的左连接类似于a.id=b.id(+)的条件在where子句中,实现a表全部数据与b表中id与a表中id相等数据的合集,这时a表中那些在b表中无对应id的数据所取得的b表所独有字段数据为空,但是如果这时在where子句中再加上一个b表的限制条件,比如减少搜索范围,如where a.id=b.id(+) and b.created_time>=sysdate-365,则在b表中无对应id的a表数据将消失,就和a.id=b.id一样。

Oracle取短日期格式

  同事要求把从Oracle数据库中取出的日期直接变成短日期格式,即yyyy-m-d,一位数月和日时不用在前面补充0,找到对应的视图脚本,原来是用to_char函数来格式化取出的日期数据,to_char(sysdate,'yyyy-mm-dd'),而oracle的to_char函数是不能取得类似yyyy-m-d的格式,因为在oracle里没有m这种格式,只有mm代表月份数字,而d表示一周的1-7,……

Oracle:没有监听程序

  虚拟机上装的Oracle数据库突然无法连接,发现OracleOraHome10gTNSListener服务没有启动,手动启动提示“错误1067:进程意外终止”。网上查的原因是说IP地址或机器名变动,解决方法是修改listener.ora文件中关于IP地址的信息或到本地-监听程序,将监听位置修改成正确的IP地址并保存。……

invalid的视图

  老是从Toad中看着oracle的视图表一大堆的红叉,好长时间也没明白为什么有这么多invalid的视图,而且没见过有什么影响,程序什么的都用得好好的,也没见出过什么错是由这些“无效”上引起的,于是问题就放一边。直到有一天真想弄明白时,才知道原来这些“无效”状态来自视图所引用表的变化……

分页:[«]1[2][»]
  • 收藏网站:
  • 新浪微博:
  • 订阅博客:
  • 腾讯微博:

    文章归档-鼠标滑过查看

    本站出现的所有广告均不代表本人及本站观点立场 | 关于我 | 网站地图 | 联系邮箱 | 返回顶部
    Copyright 2008-2016 www.stormcn.cn. All Rights Reserved. Powered By Z-Blog. 闽ICP备09000343号

    闽公网安备 35010202000133号