Sybase和Oracle+常用函数

Sybase和Oracle+常用函数
Sybase和Oracle+常用函数

1、S ybase相关函数

1.1同期值的计算

SELECT A.ID,A.CALC_MONTH,A.NUM,B.TQ_NUM

FROM (SELECT A.ID,A.CALC_MONTH,NUM FROM) A

LEFT JOIN (SELECT B.ID,B.CALC_MONTH,TQ_NUM FROM) B

ON A.ID=B.ID AND A.CALC_MONTH=(CONVERT(INT,SUBSTR(B.CALC_MONTH,1,4))+1)||SUBSTR (B.CALC_MONTH,5,2)

1.2累计及同期累计值的计算

SUM(Column) OVER(PARTITION BY Column1,Column2,Column3... ORDER BY Column4 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) LJ_ Column –累计值

SUM(TQ_Column) OVER(PARTITION BY Column1,Column2,Column3... ORDER BY Column4 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) TQ_LJ_ Column –同期累计值

1.3TOP排序

DENSE_RANK() OVER(PARTITION BY Column1,Column2 ORDER BY Column3 DESC) TOP_N---排名1.4日期转换格式

Dateformat(日期字段,'yyyymmdd'). 其中日期字段必须为日期类型,否则不能进行转换例如:dateformat(getdate(),’yyyymm’)

1.5返回指定小数点位数。

round(numeric_expr,int_expr) ----把数值表达式圆整到int_expr指定的精度

例如:Round(convert(float,字段类型),2)

1.6转换函数convert

此函数把值从一种类型改变成另一种类型

convert(datetype [(length)],expression)

例如:select "Advance="+convert(char(12),advance) from titles

1.7大小写转换

upper(char_expr) 把char_expr转换成大写形式

lower(char_expr) 把char_expr转换成小写形式

1.8删除空格

ltrim(char_expr) 删除头空

rtrim(char_expr) 删除尾空

1.9数学函数

abs(numeric_expr) 返回指定值的绝对值

ceiling(numeric_expr) 返回大于或等于指定值的最小整数

exp(float_expr) 给出指定值的指数值

floor(numeric_expr) 返回小于或等于指定值的最大整数

pi() 返回常数3.1415926

power(numeric_expr,power)返回numeric_expr的值给power的幂

rand([int_expr]) 返回0-1之间的随机浮点数,可指定基值

round(numeric_expr,int_expr)把数值表达式圆整到int_expr指定的精度

sign(int_expr) 返回正+1,零0或负-1

sqrt(float_expr) 返回指定值的平方根

1.10日期函数

getdate() 返回当前的系统日期和时间

datename(datepart,date_expr) 以字符串形式返回date_expr指定部分的值,转换成合适的名字datepart(datepart,date_expr ) 作为整数返回date_expr值的指定部分

datediff(datepart,date_expr1,date_expr2) 返回date_expr2-date_expr1,通过指定的datepart度量dateadd(datepart,number,date_expr)返回日期,通过在date_expr上增加指定number的日期部件而产生的

1.11ISNULL函数

isnull函数用指定的值代替查询栏或合计中的空值

例:select avg(isnull(total_order,$0)) from invoices

以下为Sybase函数大全,集中了大部分操作中所用到的函数信息。

(详见:SVN\参考资料\ETL参考资料\Sybase参考资料\Sybase函数大全)

2、O racle相关函数

2.1 Oracle分析函数1

SUM

功能描述:该函数计算组中表达式的累积和。

MIN

功能描述:在一个组中的数据窗口中查找表达式的最小值。

SAMPLE:下面例子中dept_min返回当前行所在部门的最小薪水值

MAX

功能描述:在一个组中的数据窗口中查找表达式的最大值。

AVG

功能描述:用于计算一个组和数据窗口内表达式的平均值。

COUNT

功能描述:对一组内发生的事情进行累积计数,如果指定*或一些非空常数,count将对所有行计数,如果指定一个表达式,count返回表达式非空赋值的计数,当有相同值出现时,这些相等的值都会被纳入被计算的值;可以使用DISTINCT来记录去掉一组中完全相同的数据后出现的行数。

2.2 Oracle分析函数2

RANK:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置同组内跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)DENSE_RANK:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置同组内连续排序,有两个第二名时仍然跟着第三名。

FIRST:从DENSE_RANK返回的集合中取出排在最前面的一个值的行

LAST:从DENSE_RANK返回的集合中取出排在最后面的一个值的行

FIRST_VALUE:返回组中数据窗口的第一个值

LAST_VALUE:返回组中数据窗口的最后一个值。

LAG:可以访问结果集中的其它行而不用进行自连接

LEAD:LEAD与LAG相反,LEAD可以访问组中当前行之后的行

ROW_NUMBER:返回有序组中一行的偏移量,从而可用于按特定标准排序的行号

2.3 Oracle分析函数3

STDDEV :计算当前行关于组的标准偏离

STDDEV_POP:该函数计算总体标准偏离,并返回总体变量的平方根

STDDEV_SAMP:该函数计算累积样本标准偏离,并返回总体变量的平方根

VAR_POP :该函数返回非空集合的总体变量(忽略null)

VAR_SAMP :该函数返回非空集合的样本变量(忽略null)

VARIANCE :如果表达式中行数为1,则返回0,如果表达式中行数大于1,则返回VAR_SAMP

COVAR_POP :返回一对表达式的总体协方差

COVAR_SAMP:返回一对表达式的样本协方差

CORR :返回一对表达式的相关系数

2.4 Oracle分析函数4

CUME_DIST :计算一行在组中的相对位置

NTILE :将一个组分为"表达式"的散列表示

PERCENT_RANK:和CUME_DIST(累积分配)函数类似

PERCENTILE_DISC:返回一个与输入的分布百分比值相对应的数据值

PERCENTILE_CONT:返回一个与输入的分布百分比值相对应的数据值

RATIO_TO_REPORT:该函数计算expression/(sum(expression))的值,它给出相对于总数的百分比

REGR_ (Linear Regression) Functions:这些线性回归函数适合最小二乘法回归线,有9个不同的回归函数可使用

-------------------------------------------------------------------------------------------------

2.5 Oracle分析函数的语法:

function_name(arg1,arg2,...) over ( )

说明:

1. partition-clause 数据记录集分组

2. order-by-clause 数据记录集排序

3. windowing clause 功能非常强大、比较复杂,定义分析函数在操作行的集合。有三种开窗方式: range、row、specifying。

--Partition by,按相应的值(manager_id)进行分组统计

--Order by按相应的值(hire_date)进行排序并累计统计

--Partition by Order by首先按相应的值(manager_id,hire_date)排序,并按order by 的值(hire_date)进行累计统计

2.6 Oracle分析函数5(求本期、累计值、最大、最小、平均值):

昨日值:first_value(ydljfd_v) over (partition by id order by ddate RANGE NUMTODSINTERVAL(1,'day') PRECEDING) ydljfd_v_ldval

上周同期值:first_value(ydljfd_v) over (partition by id order by ddate RANGE NUMTODSINTERVAL(7,'day') PRECEDING) ydljfd_v_lwdval

上月同期值:FIRST_VALUE(ydljfd_v) OVER(PARTITION BY id ORDER BY ddate RANGE NUMTOYMINTERVAL(1,'month') PRECEDING) ydljfd_v_lmdval

FIRST_VALUE(B.SDL) OVER(PARTITION BY B.DEPT_ID ORDER BY TO_DATE(B.CALC_MONTH,'YYYY-MM') RANGE NUMTOYMINTERVAL(1,'YEAR') PRECEDING), --上年同期值

max(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdmmax, --当月最大值

min(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdmmin, --当月最小值

sum(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdmsum, --当月累计值

avg(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdmavg, --当月平均值

max(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) ydljfd_v_cammax, --全月最大值

min(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) ydljfd_v_cammin, --全月最小值

sum(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) ydljfd_v_camsum, --全月累计值

avg(ydljfd_v) over (partition by id,trunc(ddate,'mm') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) ydljfd_v_camavg, --全月平均值

max(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdymax, --本年最大值

min(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdymin, --本年最小值

sum(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdysum, --本年累计值

avg(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) ydljfd_v_cdyavg, --本年平均值

max(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)

ydljfd_v_caymax, --本年最大值

min(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)

ydljfd_v_caymin, --本年最小值

sum(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)

ydljfd_v_caysum, --本年累计值

avg(ydljfd_v) over (partition by id,trunc(ddate,'yyyy') order by ddate rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)

ydljfd_v_cayavg, --本年平均值

max(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-1)))preceding) ydljfd_v_lmamax,--上月全月

最大值

min(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-1)))preceding) ydljfd_v_lmamin,--上月全月

最小值

sum(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-1)))preceding) ydljfd_v_lmasum,--上月全月

累计值

avg(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-1)))preceding) ydljfd_v_lmaavg, --上月全月平均值

max(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lmdmax,--上月同期最大值

min(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lmdmin,--上月同期最小值

sum(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lmdsum,--上月同期累计值

avg(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lmdavg, --上月同期平均值

max(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-12),'mm')) preceding AND (ddate -

add_months(ddate,-12))preceding) ydljfd_v_lymdmax,--去年同期当月最大

min(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-12),'mm')) preceding AND (ddate -

add_months(ddate,-12))preceding) ydljfd_v_lymdmin,--去年同期当月最小

sum(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-12),'mm')) preceding AND (ddate -

add_months(ddate,-12))preceding) ydljfd_v_lymdsum,--去年同期当月累计

avg(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-12),'mm')) preceding AND (ddate -

add_months(ddate,-12))preceding) ydljfd_v_lymdavg --去年同期当月平均值max(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-13),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-13)))preceding) ydljfd_v_lylmamax,--去年同期上月全月最大值

min(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-13),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-13)))preceding) ydljfd_v_lylmamin,--去年同期上月全月最小值

sum(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-13),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-13)))preceding) ydljfd_v_lylmasum,--去年同期上月全月累计值

avg(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-13),'mm')) preceding AND (ddate -

last_day(add_months(ddate,-13)))preceding) ydljfd_v_lylmaavg, --去年同期上月全月平均值

max(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lylmdmax,---去年同期上月最大值

min(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lylmdmin,--去年同期上月最小值

sum(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lylmdsum,--去年同期上月累计值

avg(ydljfd_v) over (partition by id order by ddate RANGE BETWEEN (ddate-trunc(add_months(ddate,-1),'mm')) preceding AND (ddate -

add_months(ddate,-1))preceding) ydljfd_v_lylmdavg --去年同期上月平均值其相关信息如下:(详见:SVN\参考资料\ETL参考资料\Oracle参考资料\分析函数.xls)

D:\学习资料\

Oracle资料\分析函数.

2.7 Oracle分析函数6(oracle.10G函数大全)

(详见:SVN\参考资料\ETL参考资料\Oracle参考资料\ oracle.10G函数大全.chm)

sybase replication使用技巧

SYBASE Replication Server高级使用指南 复制服务器技巧汇总__常用配置 1. 复制分区partition越大越好,大小应该为数据流量的6倍,一般可以设为2G. 2. 最大线程数应该大于连接数(数据库和复制服务器)乘以2加3。 3. 复制内存内存加大。 注意事项 1. ASE要建立专门用于复制的sa用户,而且账号密码要和复制服务器的一模一样。 2. _RSSD_prim账号缺少sa权限,导致RSM不能访问复制服务器的配置。 3. RSM客户端置需要配置ID_SERVER及它的数据库地址。 SYBASE复制服务器技巧汇总__常用操作 1. 迁移复制服务器 a) 将相关数据库(RSSD数据库及复制数据库)的复制代理断开sp_stop_rep_agent db_name(ASE) 或是suspend log transfer from {data_server.database|all} b) quiesce队列admin quiesce_force_rsi; 使用admin quiesce_check检查 c) 删除正在使用的复制分区drop partition partition_name; d) 停掉相关的复制服务器(或是挂起路由)suspend route to replication_server; e) 迁移复制数据库以及RSSD数据库,服务器名称要和以前的一致, 重新建立复制服务器的ASE用户,修改连接配置文件。 f) 对RSSD数据库以及复制数据库的第二截断点归零use db_name go sp_stop_rep_agent db_name go dbcc settrunc(‘ltm’,’ignore’) go use RSSD_db_name go rs_zeroltm data_server,database; go use db_name go dbcc settrunc(‘ltm’,’valid’) go g) 增加复制分区add partition partition_name on ‘device_name’with size size; h) 重建队列Rebuild queues go Igore loss from data_server.database [to data_server.database|replication_server]; i) 恢复复制代理sp_start_rep_agent db_name;(ASE) 2. 建立默认错误处理类。 SYBASE复制服务器技巧汇总__故障处理 1. 队列阻塞。 如果DSI线程DOWN掉的话,连续执行resume connection to data_server.database skip transactoin跳过阻塞事务,直至DSI线成能够正常工作。 否则,监测队列是否正常。使用admin who,sqt;察看info 列此数值形如******x:y,******x 即为此队列号,如果是负数,则说明此队列事务有问题, 需要破置队列。y=1,代表是处队列,y=2,代表是入队列。(???不确定???) 使用admin who,sqm;察看First Seg.block Last Seg.block 以及Next read, 三个列的数值打效应为fast SYBASE复制服务器技巧汇总__常用命令 1. 察看运行状态admin health; admin who; admin who_is_down; admin who_is_up; admin who,sqm; admin who ,sqt; 2. 察看复制服务器配置rs_config(ASE); rs_helpdb(ASE); rs_helperror(ASE); rs_helpdb(ASE);

Sybase数据库教程

系统维护员培训手册 1 第一章 Sybase概述 第一节 C/S简介 CS(Client/Server)结构是传统的网络集中共享式数据库的扩充。在CS结构中,应用程序(客户)在工作站上运行应用程序进行数据处理,服务器程序运行于服务器上以响应客户的请求并维护数据的一致性。CS结构可以显著减少不必要的网络数据传输。 一、CS和文件服务器的区别是: 文件服务器没有计算能力,它不了解数据本身的任何东西,它仅仅用于存储数据,文件服务器可以想象成一台用很长的电缆(网络)与用户计算机相连的硬 盘驱动器。CS的工作方式是客户端发出一个请求(命令),通过网络传送到服务 器,服务器根据这个命令进行计算,把计算后的结果传送给客户端。而文件服务 器的工作模式是工作站从服务器上取得应用程序运行,进行数据处理时到服务器 取数据,然后从所有的数据记录中找到要处理的内容,进行运算,最后才得出结 果。 二、客户/服务器模型的主要特点如下: ●客户进程和服务器进程可以由LAN或广域网(WAN)联结。它们都可以在同 一台计算机上运行。 ●用于在客户和数据库服务器之间通信的基本语言是通过结构化的查询语言 (Structured Query Language)实现的。 三、发展过程 C/S结构是数据库发展的一个过程,跟随计算机的计算机系统结构由集中式主机系统发展到客户/服务器系统以及现在分布式的多层网络系统,数据库系 统的体系结构也大体经历了三种发展形式: ●集中式的主机/终端结构 主机/终端系统中主机运行DBMS及数据库应用,终端仅提供数据显示。 ●两层的客户/服务器结构 在这种结构中,服务器执行数据库的存储逻辑和事务逻辑,客户端执行应用逻辑并提供用户界面。他们从系统上进行划分,均衡负载。 ●三层(或多层)体系结构 这种体系可以看作是客户/服务器结构和Internet(国际互联网络)以及Intranet应用体系结构相结合的产物,它是对客户/服务器的继承和发展。 Internet应用是浏览器/WEB服务器/数据库服务器的三层体系结构。 四、Client/Server模式概述

sybase 系统表集合

sybase 系统表集合 systypes 一行纪录了每一个由系统提供的和用户定义的数据类型 sysusers 一行记录了一行记录了一个数据库的合法用户 sysconfigures 一行纪录了用户可以设置的配置参数 syscurconfigs 有关SQL Server当前正使用的配置参数情况 sysdatabases 一行纪录SQL Server中的一个数据库 sysdevices 一行纪录数据库每一个磁带转储设备,盘转储设备,数据库设备和磁盘分区syslocks 有关动态锁的情况 syslogins 一行纪录了每一个有效的SQL Server的用户 sysmessages 一行记录了每一个系统错误或者警告 sysprocesses 有关server进程的情况 sysremotelogins 一行记录了一个远程用户 sysservers 一行记录了一个远程server sysusages 一行记录了分配给每个数据库的每个磁盘分片 sysatterrates 一行记录了分配给SQL Server用户在当前数据库的标识 syscolumns 一行记录了一个表或视图的每一列,一个存储过程的每一个参数syscomments 一行或者多行记录了每一视图、规则、缺省值、触发器和存储过程sysdepends 一行记录了由一个过程、视图或者触发器所参照的每一个过程、视图或者表sysindexes 一行记录了每一个聚集或者非聚集索引,每一个不带索引的表,含有text或者image列的表 syskeys 一行记录了每一个主玛、外玛或者公用玛 syslogs 事务日志 sysobjects 纪录表、视图、存储过程、规则、缺省值、触发器和临时表(在tempdb中)sysprocedures 纪录视图、规则、缺省值、触发器和过程 sysprocts 纪录用户权限信息 syssegments 纪录每一个片段(命名的磁盘) SYBASE 使用技巧集锦FAQ(一) 2006-07-29 11:24 Q.如何解决数据库被标记为"suspect"的问题之一(一般解决方案)? A.现象:Error 926 Severity Level 14 Error Message Text Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation (1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果 你要使用这个数据库的数据, 必须改正这个错误. (2) 启动Backup Server, 后备master数据库

Oracle中分析函数用法小结

Oracle中分析函数用法小结 一.分析函数适用场景: ○1需要对同样的数据进行不同级别的聚合操作 ○2需要在表内将多条数据和同一条数据进行多次的比较 ○3需要在排序完的结果集上进行额外的过滤操作 二.分析函数语法: FUNCTION_NAME(,...) OVER () 例: sum(sal) over (partition by deptno order by ename) new_alias sum就是函数名 (sal)是分析函数的参数,每个函数有0~3个参数,参数可以是表达式,例如:sum(sal+comm) over 是一个关键字,用于标识分析函数,否则查询分析器不能区别sum()聚集函数和sum()分析函数 partition by deptno 是可选的分区子句,如果不存在任何分区子句,则全部的结果集可看作一个单一的大区 order by ename 是可选的order by 子句,有些函数需要它,有些则不需要.依靠已排序数据的那些函数,如:用于访问结果集中前一行和后一行的LAG和LEAD,必须使用,其它函数,如AVG,则不需要.在使用了任何排序的开窗函数时,该子句是强制性的,它指定了在计算分析函数时一组内的数据是如何排序的. 1)FUNCTION子句 ORACLE提供了26个分析函数,按功能分5类 分析函数分类 等级(ranking)函数:用于寻找前N种查询 开窗(windowing)函数:用于计算不同的累计,如SUM,COUNT,AVG,MIN,MAX等,作用于数据的一个窗口上 例: sum(t.sal) over (order by t.deptno,t.ename) running_total, sum(t.sal) over (partition by t.deptno order by t.ename) department_total 制表(reporting)函数:与开窗函数同名,作用于一个分区或一组上的所有列 例: sum(t.sal) over () running_total2, sum(t.sal) over (partition by t.deptno) department_total2 制表函数与开窗函数的关键不同之处在于OVER语句上缺少一个ORDER BY子句! LAG,LEAD函数:这类函数允许在结果集中向前或向后检索值,为了避免数据的自连接,它们是非常有用的. VAR_POP,VAR_SAMP,STDEV_POPE及线性的衰减函数:计算任何未排序分区的统计值 2)PARTITION子句 按照表达式分区(就是分组),如果省略了分区子句,则全部的结果集被看作是一个单一的组 3)ORDER BY子句

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

Sybase函数

Sybase函数 Sybase字符串函数 长度和语法分析 datalength(char_expr) 在char_expr中返回字符的长度值,忽略尾空substring(expression,start,length) 返回部分字符串 right(char_expr,int_expr) 返回char_expr右边的int_expr字符 基本字符串运算 upper(char_expr) 把char_expr转换成大写形式 lower(char_expr) 把char_expr转换成小写形式 space(int_expr) 生成有int_expr个空格的字符串 replicate(char_expr,int_expr) 重复char_expr,int_expr次 stuff(expr1,start,length,expr2) 用expr2代替epxr1中start起始长为length的字符串reverse(char_expr) 反写char_expr中的文本 ltrim(char_expr) 删除头空 rtrim(char_expr) 删除尾空 格式转换 ascii(char_expr) 返回char_expr中第一个字符的ASCII值 char(int_expr) 把ASCII码转换为字符 str(float_expr[,length[,decimal]]) 进行数值型到字符型转换 soundex(char_expr) 返回char_expr的soundex值 difference(char_expr1,char_expr2) 返回表达式soundex值之差 串内搜索

oracle函数

许多软件公司都理解开发不依赖于特定数据库类型(例如Oracle、SQL Server、DB2)的应用程序的重要性,它可以让客户们选择自己习惯的平台。一般来说,软件开发人员都能够识别出他们的负责数据库维护的客户,和必须使用现有平台和个性化的客户。 关于Oracle和SQL Server之间的区别,已经有很多篇文章从企业的角度和数据库管理员的角度出发描写了两者之间的一般差别。在这篇文章里面,我将会从应用程序的角度向你描述SQL erver 和oracle平台之间的区别,并且将会讨论开发不依赖于数据库环境的应用程序的几种可能的方法。与此同时,我不会再论讨对于应用程序来说,两个平台之间显而易见的区别,例如表的分割和索引。 定义通用接口和语言有很少的几种通用语言和接口可以让应用程序不依赖于数据库,想来也可以以同样的方式应用在关系型数据库上面: ANSI是美国国家标准局定义的,这是一家志愿者成员的组织(用私人基金运转),他们在有关设备和程序等广泛领域内开发了国家承认的标准。在数据库领域, ANSI定义了编写SQL命令的标准,假设命令可以运行在任何的数据库上,而不需要更改命令的语法。 ODBC是开放数据库连接(ODBC)接口,微软定义的,它可以让应用程序访问数据库管理系统(DBMS)中的数据,使用SQL作为访问数据的标准。 ODBC允许最大的互联性,这意味着一个单个的应用程序可以访问不同的数据库管理系统。然后,应用程序终端用户可以添加开放数据库连接(ODBC)数据库驱动来将应用程序与他们所选择的数据库管理系统链接上。 OLE DB 是ODBC的继承者,是一组允许例如基于VB、C++、Access等任何可以连接到类似SQL Server、Oracle、DB2、MySQL等后台的“前台”的软件组件。在许多种情况下,OLE DB组件都比原有的ODBC提供了好得多的性能。 JDBC(Java数据库连接)应用程序接口是Java编程语言和广泛范围的数据库,SQL数据库和其他表列数据源(例如电子表格或者普通文本文件)之间,进行不依赖于数据库的连接的行业标准。JDBD应用程序接口为基于SQL的数据库访问提供了调用级别的应用程序接口。真实世界中的通用接口不幸的是,并不是所有数据库级别的命令都是ANSI,每个数据库平台都有自己的扩展功能。对于ANSI或者通用接口,一般来说都代表着几本功能,因此也可能意味着丧失了性能方面的竞争力。对于小型数据库和小型应用程序来说,要维护对数据库的通用访问是简单的,但是当数据库和/或应用程序变得越来越大,越来越复杂,你就不得不向代码中添加功能。 SQL Server和Oracle的常用函数对比 ---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual

sybase for linux

下面是linux下的一个makefile ,cpre 用的是SYBASE客户端,可以参考一下。 .SUFFIXES:.ccs .SUFFIXES:.cpre CC=cc -g USERDIR=/root WORKDIR=.. SYBASEDIR=${SYBASE}/${SYBASE_OCS} LIBDIR=-L$(USERDIR)/lib -L$(WORKDIR)/lib -L$(SYBASEDIR)/lib INCLDIR=-I$(USERDIR)/include -I$(WORKDIR)/include -I$(SYBASEDIR)/include CPRE=$(SYBASEDIR)/bin/cpre -d -l -y $(INCLDIR) CFLAGS=-O -DUNIX LIBS = -lct -lcs -lsybtcl -lcomn -lintl -rdynamic -ldl -lnsl -lm USERLIBS = EDF= help: @echo Please input filenames that will be make following make command @echo 'syntax: make ' #all: battst .c: @echo Compiling and link the program $@ $(CC) -o $@ $< $(CFLAGS) $(INCLDIR) $(LIBDIR) $(LIBS) $(USERLIBS) @echo "---$@ compiling and link done." mv $@ $(USERDIR)/bin .cpre: $(CPRE) $< /var/cics_bins/makefile/add.sh $*.c >$*.tmp mv $*.tmp $*.c $(CC) -o $@ $@.c $(CFLAGS) $(INCLDIR) $(LIBDIR) $(LIBS) $(USERLIBS) # rm $*.c mv $@ $(USERDIR)/bin @echo "---$@ compiling and link done." ~ ~

SybaseIQ数据备份恢复命令

1引言 本文档描述如何对Sybase IQ数据库的数据进行备份、恢复、迁移等操作指导,供售前和售后人员使用。本文档是售前和售后人员向运营商推广、使用本功能最重要的参考依据。2术语和缩略语 2.1术语 2.2缩略语 3简介 Sybase IQ(或Multiplex IQ)的数据备份包括Sybase IQ 数据(IQ存储)和基础SQL Anywhere 数据库(Catalog 存储)备份。其备份方式分为BACKUP/RESTORE命令的全库备份/恢复,以及数据导入/导出应用(重定向、insert…location方式的数据迁移)。本文档将分别描述三种方式操作步骤。 4Sybase IQ的数据备份、恢复 4.1 全库备份、恢复 全库备份、恢复采用BACKUP/RESTORE命令(必须具有dba权限),此种方法仅备份已提交的数据。借助提交和自动检查点开始备份。备份程序在此时确定要备份哪些数据。该程序备份截至此检查点时间为止的数据库当前快照版本。在此检查点操作发生时尚未提交的所有数据不会纳入备份范围。 BACKUP 语句 说明在一个或多个存档设备上备份Sybase IQ 数据库。 语法BACKUP DATABASE [ backup-option… ] TO archive_device [ archive-option... ] …[ WITH COMMENT string ] 参数backup-option: { READWRITE FILES ONL Y | READONL Y dbspace-or-file [, … ] } CRC { ON | OFF } ATTENDED { ON | OFF } BLOCK FACTOR integer

Oracle 常见函数(一)——数值函数

Oracle常见数值函数 ----***特别说明***: x 可以是纯的数值,也可以是数值型表达式/* ABS(x)返回x绝对值 eg. */ selectabs(100),abs(-100) from dual; /* sign(x)判断x的正负,正数返回1,负数返回-1,0返回0; eg. */ selectsign(100),sign(-100),sign(0) from dual;

/* round(x[,n])对x进行四舍五入,保留n位小数,其中n采用其整数部分; 没有n时默认四舍五入到整数位,n为负数时,四舍五入保留小数点左边n位(补零), eg. */ selectround(5555.6666, 2.1), round(5555.6666, -2.6), round(5555.6666) from dual; /* trunc(x)对x进行直接截取,保留n位小数,其中n采用其整数部分; 没有n时默认截取到整数位,n为负数时,截取保留小数点左边n位(补零), eg. */ selecttrunc(5555.66666,2.1), trunc(5555.66666,-2.6), trunc(5555.033333) from dual; /* ceil(x)对x进行向上取整,返回不小于x的最小整数(可以是整数x本身)。

eg. */ selectceil(3.1), ceil(2.8+1.3), ceil(0) from dual; /* floor(x)对x进行向下取整,返回不大于x的最大整数(可以是整数x本身)。eg. */ selectfloor(3.1), floor(2.8+1.3), floor(0) from dual; /* mod(x,y)求x除以y的余数,x,y为数字型表达式。 eg. */ selectmod(23,8),mod(24,8) from dual;

sybase基本操作

SYBASE基本操作 一、启动数据库 1、ps -ef | grep dataserver 查看sybase进程, Sybase有数据库进程和备份进程, 若都没看到则需要手动启动,进入sybase安装目录$sybase/ASE-15_0/install 启动数据库和备份进程 # ./startserver -f RUN_LINUXMZC --启动数据库RUN_”SYBASENAME”#./startserver -f RUN_LINUXMZC_BS --启动备份服务“RUN_backupserve” 启动后也可用#showserver查看 2、登录数据库 数据库启动后使用#isql -Usa -P -S 登录数据库, 注:sybase默认只有一个用户sa,默认密码NULL

二、sybase基本操作 1、查询数据库版本 >select @@version >go 注:isql中的命令都需要go来执行,如果发现写错了,可以用reset重新输入 2、查询数据库信息 >sp_helpdb 显示所有数据库和基本信息 3、查寻空间使用情况 >use basename >go >sp_spaceused >go

4、性能监控 使用指令sp_sysmon 格式:>sp_sysmon “hh:mm:ss”,model_name,表示监控指定时间指定模块,缺省为所有模块 1、内核管理(kernal ) 10、任务管理(taskmgmt) 2、应用管理(appmgmt) 11、监视器访问SQL的执行(monaccess) 3、数据缓存管理(dcache) 12、并行查询管理(parallel) 4、ESP管理(esp) 13、过程缓存管理(pcache) 5、索引管理(indexmgmt) 14、恢复管理(recovery) 6、锁管理(locks) 15、事务管理(xactmgmt) 7、内存管理(memory) 16、磁盘I/O管理(diskio) 8、元数据高速缓存管理(mdcache ) 17、工作进程管理(wpm) 9、事务概要(xactsum) 18、网络I/O管理(netio)

sybase sql语句参考

T-SQL简介 为了和SQL Server通信和操作存储在SQL Server中的对象,客户程序和存储过程要使用Transact-SQL或T-SQL的结构化查询语言。T-SQL提供了标准1989版本SQL(由美国国家标准机构作为ANSI SQL 89出版)的许多功能,并给出了允许在语言方面具有更大的可编程性的若干扩展功能。SQL组件包括: ●数据定义语言(DDL),它创建和放弃数据结构并管理对象级安全性。 ●数据修改语言(DML),它增加、修改和删除表中的数据。 ●数据控制语言(DCL),它负责表数据的安全。 T-SQL对标准SQL进行了扩展,增加了程序流控制结构(如if和while)、局部变量和允许DBA创建基于代码的对象,包括存储过程和触发器的其它功能。T-SQL语句是以批处理的形式提交给服务器的。

1.1 T-SQL一般性介绍 1.1.1T-SQL的发展历史简介 1.1.2操作对象,一般操作术语(selection, projection, join) 及使用的场所 1.1.3命名规则:字符集、排序方式、变量、对象引用方式1.1.4操作符(算术、字符、位) 1.1.5T-SQL对SQL-92标准的扩展一般性介绍:计算函数、 控制结构 1.1.6对null的介绍 1.1.7ISQL的使用简介 1.2 创建表等对象的语句 创建表、索引、存储过程等的简单语法介绍

1.3 查询SQL语句的介绍: 1.3.1什么是查询? 1.3.2如何去选列 1.3.3如何选出唯一结果集 1.3.4如何指定表 1.3.5如何指定查询条件 1.3.6select语句 简单语法: select from 详细语法: select [all | distinct] select_list [into [[database.]owner.]table_name] [from [[database.]owner.]{view_name|table_name [(index {index_name | table_name } [parallel [degree_of_parallelism]] [prefetch size ][lru|mru])]} [holdlock | noholdlock] [shared] [,[[database.]owner.]{view_name|table_name [(index {index_name | table_name } [parallel [degree_of_parallelism]] [prefetch size ][lru|mru])]} [holdlock | noholdlock] [shared]]... ] [where search_conditions] [group by [all] aggregate_free_expression [, aggregate_free_expression]... ] [having search_conditions] [order by

Sybase数据库管理手册

Sybase数据库管理手册

目录 Sybase 数据库安装说明 (3) 一、安装前准备工作 (3) 二、安装主程序 (3) 三、安装后打补丁 (6) 四、重启后创建Sybase服务 (6) 五、字符集设置 (11) 六、还原HIS数据库 (13) 七、Sybase服务不能启动时 (19) 八、配置参数 (21) 客户端安装说明 (29) 一、安装客户端 (29) 二、配置客户端 (29) Sybase 数据库的备份、恢复 (29) Sybase 数据库维护 (30) Sybase数据常用命令的使用 (31)

Sybase 数据库安装说明 一、安装前准备工作 ●先将Sybase安装文件夹(ASESERVER)拷贝到要安装的机器硬盘上。(此文件夹下文中都 用d:\Tooll\ASESERVER) ●将Sybase的补丁拷贝到要安装的机器硬盘上 ●处理安装时的字符集问题(防止安装时出现乱码) 对于不同的Windows版本的操作系统Sybase都要进行字符集文件的修改,下面是不同 二、安装主程序 ●进入安装程序 完成安装前的准备工作后就可以双击D:\TOOLS\ASESERVER\setup.exe文件进入Sybase安装程序。

●确定安装目录 选择安装目录是不要选择有磁盘阵列或做了Raid的盘,也不要选择操作系统所在的磁盘。 ●选择安装组件 ●安装总结

在总结处要注意所需空间是不是小于可用空间,如果不是则要将安装的磁盘清除一些文件来达到所需空间。单击“下一步”进行安装进行状态 ●安装进度 ●录入注册信息

●重启提示 完成安装后提示是否重新启动机器,按否不重启机器。然后将补丁拷贝到安装目录。 三、安装后打补丁 将\ASE补丁\ebf11574\Server目录下的所有文件拷贝到Sybase安装目录下例如安装目录为C:\Sybase 将C:\sybase\shared-1_0\jre1.2.2\lib\font.properties.zh.NT5.2文件名改名,操作系统与文件名的配对关系参考安装前准备工作的配对关系。 四、重启后创建Sybase服务 ●重启机器后进入Sybase安装程序确定提示按“否”后进行Windows操作系统 ●进行操作系统的运行窗口录入CMD进入Dos操作界面

SQL教程(函数编)

SQL 教程(函数篇)
课程表
SQL 基础
? ? ? ? ? ? ? ? ? ? ?
SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SQL Top SQL Like SQL 通配符 SQL In SQL Between SQL Aliases SQL Join SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Union SQL Select Into SQL Create DB SQL Create Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Create Index SQL Drop

? ? ? ? ? ? ? ?
SQL Alter SQL Increment SQL View SQL Date SQL Nulls SQL isnull() SQL 数据类型 SQL 服务器 SQL 函数
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SQL functions SQL avg() SQL count() SQL first() SQL last() SQL max() SQL min() SQL sum() SQL Group By SQL Having SQL ucase() SQL lcase() SQL mid() SQL len() SQL round() SQL now() SQL format()
SQL 总结
? ?
SQL 快速索引 SQL 总结 实例/测验 实例 测验
?
SQL 测验 建站手册
? ? ? ? ? ? ?
网站构建 万维网联盟 (W3C) 浏览器信息 网站品质 语义网 职业规划 网站主机

Oracle函数详解(经典)

Oracle常用函数/过程说明主要介绍Oracle的系统函数、过程和包。 SQL常用函数: 数值函数: ABS Purpose 返回绝对值 Returns the absolute value of n. Example SELECT ABS(-15) "Absolute" FROM DUAL; Absolute ---------- 15 CEIL Purpose 取最小整数 Returns smallest integer greater than or equal to n. Example SELECT CEIL(15.7) "Ceiling" FROM DUAL;

Ceiling ---------- 16 * MOD Syntax MOD(m,n) Purpose 取余 Returns remainder of m divided by n. Returns m if n is 0. Example SELECT MOD(11,4) "Modulus" FROM DUAL; Modulus ---------- 3 * ROUND Syntax ROUND(n[,m]) Purpose 取四舍五入信息 Returns n rounded to m places right of the decimal point; if m is omitted, to 0 places. m can be negative to round off digits left of the decimal point. m must be an integer.

Sybase 错误代码

错误消息按Sybase 错误代码进行索引 Sybase 错误代码是一组错误代码集,用于所有Sybase 产品,包括Adaptive Server Enterprise。Adaptive Server Anywhere 所返回的每个Sybase 错误代码,都有与之匹配的Adaptive Server Anywhere 错误代码。在许多情况下,Adaptive Server Anywhere 错误代码比对应的Sybase 错误代码更详细,因此,下表中的某些Sybase 错误代码并不是唯一的。 Sybase 错误代码Adaptive Server Anywhere SQLCODE 错误消息 0 –631 RAISERROR 被执行:%1 102 –171 打开游标时出错 102 –199 在游标上的INSERT/_delete 只能修改一个表 102 –933 IQ 数据库需要日志 102 –275 在运行时服务器中不支持触发器和过程 102 –273 在触发器动作中不允许执行COMM IT/ROLLBACK 102 –131 '%1' 附近有语法错误%2 102 –687 语法错误,未指定IQ PATH 时不能指定IQ 特定选项102 –875 无法连接到'%1' 102 –145 未找到外键名'%1' 102 –271 触发器定义与现有触发器冲突 102 –272 触发器定义中的REFERENCES 子句无效 102 –635 不允许在视图上对列权限GRANT 102 –151 子查询只允许一个选择列表项 102 –269 不能删除或重命名触发器定义中引用的列 103 –250 标识符'%1' 过长 104 –854 ORDER BY 子句中对'%1' 的函数或列引用无效 108 –152 ORDER BY 说明无效 133 –262 未找到标签'%1' 134 –261 已有名为'%1' 的变量 137 –260 未找到变量'%1' 154 –623 过程或触发器中不允许数据定义语句 155 –200 无效的选项'%1' —不存在PUBLIC 设置 174 –154 函数'%1' 的参数数目错误 176 –611 不支持的Transact-SQL 功能 176 –148 未知函数'%1' 182 –159 无效的列号 201 –639 调用过程'%1' 时参数名遗失

sybase资料

关于Sybase ASE数据库的license以及试用版过期的问题的解决方案 作者:佚名来源:中国自学编程网收集整理发布日期:2009-02-18 当用户从Sybase官网上下载了ASE15.0.2以后,如果选择了安装Express Edition或者Developer Edition,基本上不会碰到什么问题,除了有些功能受限以下。 但大多数可能选择了Enterprise Edition for Evaluation类型,即企业版试用。都会碰到这样的问题,即一个月以后,license过期,无法启动server。于是很郁闷,可能大部分人,会选择卸载再重新安装一遍,这样当然没问题,只是,太浪费时间了。 有一段时间,我自己甚至也以为只能这样去解决了。 实际上不是,通过在sybase论坛上与一些有经验的人交流以后,发现,是可以切换的。 首先,有三种安装类型: 1. Express Edition,完全免费,不用缀述。 2. Developer Edition,没有使用期限限制,用于开发和测试。似乎不能商用,无所谓了。我也是刚得知。以前好像是有60天的限制。 3. Enterprise Edition,它是有试用时间的限制的。是30天。 只要能找到切换就OK了。 你的解决方法就是,把企业版的license切到开发版或者Express版。怎么切? 先看看目录$SYBASE/SYSAM-2_0/licenses下边的三个文件: SYBASE_ASE_DE.lic SYBASE_ASE_XE.lic 第一个文件里边有这样的内容: PE=DE;LT=DT 第二个文件里有这样的内容: PE=XE;LT=CP

Oracle的TRUNC、ROUND函数详解,Sybase中功能相同的函数

Oracle的TRUNC、ROUND函数,Sybase中功能相同的函数 Oracle的TRUNC函数,Sybase中相同功能的函数CONVERT(Decimal(22,4),数值字段) Oracle,Trunc函数用法: Trunc的意思的截平(truncate),在oracle中用来根据指定的方式截断日期或数字, 举例如下: 1、截断日期时间: 其具体的语法格式如下:TRUNC(date[,fmt]) 其中:date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去举例,Sql代码: 1.select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual; 2.时间 3.------------------- 4.2012-10-28 00:00:00 select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间from dual; 时间 ------------------- 2012-10-28 00:00:00 这里的dd可以是格式元素的任何一个如yyyy,mm,dd,hh24,mi,ss等。结果是截断指定的元素之后的所有数据并显示出最接近的日期或时间。多举几个例子来凑篇幅: 按月份截断,则显示月份的第一天。 Sql代码: 1.select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual 2.时间 3.------------------- 4.2008-08-01 00:00:00 select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间from dual 时间 ------------------- 2012-10-01 00:00:00 按分钟截断,则秒为0。 Sql代码: 1.select to_char(trunc(sysdate,'mi'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual 2.时间

相关文档
最新文档