Sybaseiq数据库函数整理文档.docx.pdf

上传人:tbuqq 文档编号:5616353 上传时间:2020-07-02 格式:PDF 页数:30 大小:415.08KB
返回 下载 相关 举报
Sybaseiq数据库函数整理文档.docx.pdf_第1页
第1页 / 共30页
Sybaseiq数据库函数整理文档.docx.pdf_第2页
第2页 / 共30页
Sybaseiq数据库函数整理文档.docx.pdf_第3页
第3页 / 共30页
Sybaseiq数据库函数整理文档.docx.pdf_第4页
第4页 / 共30页
Sybaseiq数据库函数整理文档.docx.pdf_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Sybaseiq数据库函数整理文档.docx.pdf》由会员分享,可在线阅读,更多相关《Sybaseiq数据库函数整理文档.docx.pdf(30页珍藏版)》请在三一文库上搜索。

1、Sybase iq 数据库函数总结 建数据库脚木: CREATE DATABASE eAProgram FilesSybaseASIQ-12_7myiqmyiq.db TRANSACTION LOG ON COLLATION 936ZHCT PAGE SIZE 4096 JAVA ON JCONNECT ON CASE RESPECT PASSWORD CASE RESPECT IQ PATH ,myiq.iq, IQ SIZE 100 IQ PAGE SIZE 131072 TEMPORARY PATH ,myiq.iqtmp, TEMPORARY SIZE 10 SET OPTION pu

2、blic.MINIMIZE_STORAGE = ON ; 这个可以在数据库中设置一下,这样减轻字段存储空间的压力 -select * from all_ind_columns where table_name=TB_CM_SERV , and table_owner=IODATA_GZ; 数据文件的使用率: Create procedure myspace() Begin Declare mt unsigned bigint; Declare mu unsigned bigint; Declare tt unsigned bigint; Declare tu unsigned bigint;

3、Call spjqspaceused (mt,mu,tt,tu); Select cast(mt/1024 as unsigned bigint) as mainMB, Cast(mu/1024 as unsigned bigint) as mainusedMB, Mu* 100/mt as mainPerCent, Cast(tt/1024 as unsigned bigint) as 怕 mpMB, Cast(tu/1024 as unsigned bigint) as tempusedMB, Tu*100/tt as tempPerCent; End 数据类型 1.1日期及时间数据类型

4、DATE日历日期,如年、月、日。年可以从0001到9999。日必须是非零值,以便最早日期为000171 - 01。DATE值需要4个字节的存储空间。 DATETIME 一个以TIMESTAMP的形式实现的域。Z所以提供DATETIME,主要是为了与Adaptive Server Enterprise兼容。有关例外 , 请参见“字符串到日期时间转换的兼容性”。 SMALLDATETIME 一个以TIMESTAMP的形式实现的域。 TIME 一天中的时间,包含小时、分钟、秒,以及秒的小数部分。分数存储为6位小数。 TIME值需要8个字节的存储空间-(ODBC标准将TIME数据类型限制为精确到秒。因

5、此,不要 在要求的精度比秒更高的WHERE子句比较中使用TIME数据类型。) TIMESTAMP时间点,包含年、月、日、小时、分钟、秒, 以及秒的小数部分。分数存储为6 位小数。口 必须为非零值。TTMESTAMP值需要8个字节的存储空间。 1.2日期和时间格式 以下是用于指定时间的有效而明确的字符串: 21:35 - 24小时制(如果未指定am或pm ) 10:00pm - 已指定 pm,因此为12小时制 10:00 -不带pm,因此是指10:00am 10:23:32.234 -包括秒以及秒的小数部分 在向数据库发送时间是,小时、分钟和秒必须用冒号分隔开(格式为hh:mm:ss:sss )

6、,但可以显示 在字符串屮的任意位置。可以选择用句点将秒与秒的小数部分相互分隔开,如hhmmr.ss.sss。 将日期以字符串形式发送到数据库时,其到口期数据类型的转换是自动发生的。您可以通过下 面两种方式之一提供字符串: ?以yyyy/mm/dd或yyyy-mm-dd格式的字符串形式,其格式由数据库明确解释 select rank() over(partition by dept_id order by salary) from empl; 函数 Rank 口化集合函数分区函数的用法 rankC) over(partition by empl dept Jd order by empl sal

7、ary asc) 1 1 2 1 3 u w 4 4 c w 6 6 7 1 8 - 4 9 3 10 4 4 1 ? Partition by 后一定要加order by 1.2 Now函数 select now(*) from empl nowf) 1 2010-01-0510:40:55.015000 2 2010-01 -0510:40:55 015000 3 2010-01 -0510:40:55.015000 4 2010-01 -05 10:40:55.015000 5 2010-01 -0510:40:55.015000 6 2010-01 -0510:40:55.015000

8、 7 2010-01 -05 10:40:55.015000 8 2010-01 -05 10:40:55.015000 9 2010-01 -0510:40:55.015000 102010-01 -05 10:40:55.015000 11 2010-01 -0510:40:55.015000 1.3ARGN 函数Miscellaneous 从参数列表中返回所选参数。 语法:ARGN (integer-expression, expression ,.) SELECT ARGN( 4, 1,2,3,7,56 ) FROM iq.dummy; ARGN(4.1.2.3.7.5.6) 亠 7|

9、 SELECT ARGN( 4, ,asrewryry7345sdfs,) FROM iq_dummy; ARGN(4; ,asrewryry345sdfs 1 卜srewryry 1.4ARGN 函数Miscellaneous 返回字符串表达式中第一个字节的整数 ASCII 值。 语法:ASCII ( string-expression) SELECT ASCII( Z ) FROM iq_dummy ASCHCZ) 1 I _ 90 1.5AVG 函数Aggregate 为一组行计算数值表达式的平均值,或计算一组唯一值的平均值。 语法:AVG ( DISTINCT column-name)

10、 1.6ABIGNTTOHEX 函数Data type conversion 在VARCHAR(16)屮返回十进制整数的十六进制等效数字。语法:BIGINTTOHEX (integer- expression) 下而的语句返回值 0000000(M)()()()()()09: SELECT BIGINTTOHEX(9) FROM iq_dummy; 下面的语句返回值FFFFFFFFFFFFFFF7: SELECT BIGINTTOHEX(-9) FROM iq_dummy; 1.7BIT_LENGTH 函数String 返回字符串中的位数,即字符数 *8 select BIT_LENGTH(n

11、ame),name from emp1; BIT_LENGTH(emp1 name) name 1 32 Anna 2 32 Mike 3 40 Scott 4 56 Antonia 5 32 Adam 6 24 Amy 7 32 Jeff 8 24 Tim 9 24 111 Jim 10 24 Tom 11 40 Sandy 4 a ? 1.8BYTE_LENGH 函数String 返回字符串中的字节数。 语法:BYTE_LENGTH ( string-expression) BYTE LENGTHCTesf) 1 I _ 4l 1.9CAST 函数Data type conversion

12、返回转换为提供的数据类型的表达式的值。 语法:CAST ( expression AS data type) 下面的函数可确保使用字符串作为口期: CAST( *2000-10-31 AS DATE ) 计算表达式1+2的值,并将结果转换为单字符字符串( 即数据服务器分配的长度) : CAST( 1 + 2 AS CHAR ) 可以使用CAST函数缩短字符串: SELECT CAST( lname AS CHAR(5) FROM customer 用法如果未指定字符串类型的长度,Sybase IQ将选择适当的长度。如果没有为十进制转换指定精度 和标度,则数据库服务器将选择适当的值。如果针对NU

13、LL到NUMERIC的显式转换既未指定精度也 未指定标度,则缺省值为NUMERIC(1,O)。例如, SELECT CAST( NULL AS NUMERIC ) A, CAST( NULL AS NUMERIC(15,2) B 说明为: ANUMERIC(1,O) BNUMERIC(15,2) 1.10CEIL 函数Numeric 返回大于或等于指定表达式的最小整数。 1.11ceiling 函数Numeric 返回一个数字的上限( 不小于的最小整数 ) 。与ce订为同义词。语法:CEILING ( numeric- expression) 下面的语句返回值60.00000: SELECT

14、CEILING( 59.84567 ) FROM iq_dummy 下面的语句返回值123: SELECT CEILING( 123 ) FROM iq_dummy 下面的语句返回值124.0(): SELECT CEILING( 123.45 ) FROM iq.dummy 下面的语句返回值-123.00: SELECT CEILING( -123.45 ) FROM iq_dummy 1.12CHAR 函数String 返回含数字所表示的ASCII值的字符。 i吾?去:CHAR (integer-expression) 下面的语句返回值“Y” : SELECT CHAR( 89 ) FRO

15、M iq.dummy 下面的语句返回值 “S” : SELECT CHAR( 83 ) FROM iq_dummy 对于值大于255或小于0的整数表达式,CHAR返回NULL。 1.13CHAR_LENGTH 函数String 返回字符串中的字符数。 语法:CHAR_LENGTH ( string-expression) 下面的语句返回值8: SELECT CHAR_LENGTH( Chemical) FROM iq_dummy; 1.14CHARINDEX 函数String 返回一个字符串在另一个字符串中第一次出现的位置。 语法:CHARINDEX ( string-expressionl,

16、 string-expression?) SELECT empjname, emp_fname FROM employee WHERE CHARINDEX(K, empjname ) = 1 empjname empjname 1 Klobucher James | 2 Kuo Felicia 3Kely Moira | select charindex(upper( ,a,),name),name from emp1; 1.15COALESCE 函数Miscellaneous 返回列表屮的第一个菲空表达式。 语法:COALESCE ( expression, expression ,.? .

17、) 1.16COL_NAME 函数System 返回列名。 语法:COL NAME (table-id, column-id , database-id ) 下面的语句返回值“Y” : SELECT CHAR( 89 ) FROM iq_dummy 下面的语句返回值“S” : SELECT CHAR( 83 ) FROM iq.dummy 对于值大于 255 或小于 () 的整数表达式, CHAR 返回 NULL。 1.17CONNECTION_PROPERTY 函数System 以字符串形式返回给定连接属性的值。 语法:CONNECTION_PROPERTY (integer-express

18、ion 1 string-expression ?,integer-expression2 ) SELECT connection_property( PrepStint ) FROM test; I connection jjropertyfPrepStmC) 1.18 CONVERT 函数Data type conversion 返回转换成提供的数据类型的表达式。 语法:CONVERT ( data-type, expression , format- style ) 不含世纪 (yy) 1 2 3 4 5 6 7 8 10 11 12 13 14 20 21 含世纪 (yyyy) 0 或

19、 100 101 102 103 104 105 106 107 108 9 或 109 110 111 112 113 114 120 121 365 输出 mmm dd yyyy hh:nnAM ( 或 PM) mm/dd/yytyy yyyymm dd dd/mm/yyyy dd.mmyyyy dd- mm-yyyy dd mmm yyyy mmm dd 、xyy hh im ss nimmddyyyy hh iin $s ssAM ( 或 PM) mm-dd- yyyy yyJyy/mnVdd yyyymmdd ddninmiyyyy lih:iin:ss:sss (24 小时制,欧洲

20、缺省时 间+毫秒. 4位数年份 ) hkmrss (24 小时制 ) yyyy-mnrdd lili im s$ ( 24 小时制, ODBC 规 4 位数 年份) yyyy-mm-dd hli nii ss.sss (24 小时制, ODBC 规范加 亳秒, 4位数年份 yyyyjjj ( * 用字符串或整数形式,其中JJJ是 - 年中的儁略天数,从1到 366) order-date order.date order.date 1 16.03.93 16.03.1993 1993-03-16 00:00:00.000000 2 20.03.93 20.03.1993 1993-03-20

21、00:00:00.000000 3 23.03.93 23.03.1993 1993-03-23 00:00:00.000000 4 25.03.93 25.03.1993 1993-03-25 00:00:00.000000 5 26.03.94 26.03.1994 1994-03-26 00:00:00.000000 630.03.94 30.03.1994 1994-03-30 00:00:00.000000 730.03.94 30.03.1994 1994-03-30 00:00: CMJ .000000 8 02.04.94 02.04.1994 1994-04-02 00:00

22、:00.000000 9 05.04.94 05.04.1994 1994-04-05 00:00:00.000000 1C 06.04.94 06.04.1994 1994-04-06 00:00:00.000000 11 07.04.94 I 07.04.1994 1994-04-07 00:00:00.000000 0、9表示都是含世纪的,其他如1、2都是可以不含世纪的。 SELECT CONVERT( CHAR( 20 ), order_date, 4),CONVERT( CHAR( 20 ), order_date, 104),order_date FROM sales_order

23、; 1.19DATALENGTH 函数System 返回表达式的长度 ( 以字节为单位 ) 。 语法:DATALENGTH ( expression) 下面的语句返回值35,即company_name列中最长的字符串 : SELECT MAX( DATALENGTH( company_nanie ) FROM customer 1.20DATE 函数Date and time 将表达式转换为口期,并删除任何小时、分钟或秒。 语法:DATE ( expression) 下面的语句返回值1988-11-26作为日期。 SELECT DATE( 4988-11-26 21:20:53 )FROM i

24、q.dummy 1.21DATEADD 函数Date and time 返回通过将指定数量的指定口期分量添加到口期中而生成的口期。语法:DATEADD ( date-part, numeric-expression, date-expression) date part要添加到日期中的日期分量。 numeric-expression要添加到H期中的Fl期分暈的数量。numeric-expression口J以是任何数值 类型;俏 . 截断为整数。date-expression 要修改的口期。 下面的语句返回值1995-11-02 00:00:00.000: SELECT DATEADD( mon

25、th, 102, 1987/05/02) FROM iq_dummy 1.22DATEDIFF 函数Date and time 返回两个日期z间的时间间隔。 语法:DATEDIFF ( date-part, date-expression1, date-expression2) date-expression1间隔的开始日期。从date-expression-2中减去该值,以返回两个参数之间Fl期 分量的数量。 date-expression2时间间隔的结朿日期。从此值中减去date-expression/ 以返回两个参数间的H 期 分量的数量。 下面的语句返回1: SELECT DATEDI

26、FF( hour, 4:00AM, 5:50AM) FROM iq_dummy; 下面的语句返回 102: SELECT DATEDIFF( month, 1987/05/02, 1995/11/15) FROM iq.dummy; 下面的语句返回0: SELECT DATEDIFF( day, 00:00*. 23:59) FROM iq_dummy ; 下面的语句返回4: SELECT DATEDIFF( day, 1999/07/19 00:00 1999/07/23:23:59) FROM iq_dummy; 下面的语句返回0: SELECT DATEDIFF( month, 1999

27、/07/19, *1999/07/23) FROM iq.dummy; 下面的语句返回1: SELECT DATEDIFF( month, I II1999/07/19 ; 1999/08/23) FROM iq.dummy; 1.23DATEFORMAT 函数Date and time 以指定的格式返回表示H期表达式的字符串。 语法:DATEFORMAT ( datetime-expression, string-expression) datetime-expression要转换的日期 / 时间。必须是日期、时间、时司戳或字符串。 string-expression转换后的日期格式。 下面

28、的语句返回类似“Jan 01, 1989 ”的字符串值: SELECT DATEFORMAT( start_date, Mmm dd, yyyy r) from employee; 下面的语句返回字符串“Feb 19, 1987 ”。 SELECT DATEFORMAT( CAST( 1987/02/19 AS DATE ), 4MmmDd, yyyy) FROM iq_dummy 1.24DATEPART 函数Date and time 返回期 / 时间值的指定部分的整数值。 语法:date-part要返回的期分量。 有关允许的日期分量的完整列表,请参见 “ Id期分量” ( 第235页)

29、。date-expression 要返回其日期 分量的日期。日期必须包含字段。 SELECT DATEPART( month , *1987/05/02*) FROM iq_dummy; DATEPART(month;198785/02) II I 5| 1.25DATENAME 函数Date and time 以字符串形式返回Fl期/ 时间值中指定部分的名称( 如月份“June”)语法:DATENAME ( date-part, date-expression) date-part要指定的日期分量。 date-expression要返回其 Fl期分量名称的Fl期。日期必须包含请求的dcite

30、-pcirt. 下面的语句返 回值May: SELECT datcnamc( month , 11987/05/02*) FROM iq_dummy 1.26DATETIME 函数Date and time 将表达式转换成时间戳。 语法:DATETIME ( expression) expression要转换的表达式。表达式通常是字符串。可能会报告转换错误。 SELECT DATETIMEC1998-09-09 12:12:12.000) FROMiq_dummy 返回含有值1998-09-09 12:12:12.000的时间戳 : 1.27DAY 函数Date and time 返回1到31

31、之间的一个整数,该整数对应于指定日期中的每月几号。语法:DAY ( date- expression) 下面的语句返回值12: SELECT DAY( *2001 -09-12 1) FROM iq_dummy 1.28DAYNAME 函数Date and time 返回指定日期中的星期儿的名称。 语法:COALESCE ( expression, expression ,.) 下面的语句返回值Saturday: SELECT DAYNAME ( 11987/05/02*) FROM iq_dummy 1.29DAYS 函数Date and time 返回自任意开始n期以來的天数,返回两个指定

32、口期之间的天数,或者将指定的integer- expression数量的天添加到给定日期屮。 语法 DAYS ( datetime-expression )| ( datetime-expression, datetime-expression )| ( datetime- expression, integer-expression) 参数datetime-expression 口 期和时间。 integer-expression 要添加到datetime-expression屮的天数。如果integer-expression是负 数,则从日期 / 时间屮减去相应的天数。如果提供整数表达式,

33、必须将datetime-expression显式 转换为日期。 DAYS忽略小时、分钟和秒。 示例下面的语句返回整数值729948: SELECT D A YS(1998-07-13 06:07:12*) FROM iq_dummy 下面的语句返回整数值-366,这是两个日期之间的差值: SELECT DAYS(1998-07-13 06:07:12*; 1997-07-12 10:07:12) FROM iq_dummy 下面的语句返回值1999-07-14: SELECT days(cast(2009-01-03 as date),3) ,days(date(2009 -01?03),3)

34、from iq.dummy 1.30 DBJD 函数System 返回数据库ID号。 语法:DBJD ( database-name ) database-name包含数据库名的字符串表达式。如果database-name是字符串常量,则它必须用引 号引起来。如果未提供database-name,则返回当前数据库的ID号。 如果asiqdemo是唯一正在运行的数据库,则下面的语句返回值0: SELECT DB_ID( asiqdemo), DB_ID() FROM iq.dummy 1.31DB_NAME 函数System 返回数据库名。 语法:DB_NAME ( database-id) d

35、atabase-id数据库的ID。database-id必须是数值表达式。示例下面的语句在对样本数据库执行时 返回数据库名 asiqdemoo SELECT DB_NAME( 0 ) FROM iq.dummy 1.32DB_PROPERTY 函数System 返回给定属性的值。 语法:COALESCE ( expression, expression DB_PROPERTY (property-id property-name, database-id database-name) property-id数据库属性ID。 property-name数据库属性名称。 database-id数据

36、库ID号, 由DB_ID返回。通常情况下 , 使用数据库名称。database-name数据库的 名称,由DB_NAME返回。 下面的语句返回当前数据库的页大小( 以字节为单位 ) 。 SELECT DB_PROPERTY( PAGESIZE) FROM iq_dummy 1.33DEGREES 函数Numeric 将数字从弧度转换为度数 i吾法:DEGREES ( numeric-expression) 参数numeric-expression以弧度表示的角度。 示例下面的语句返回值29.793805: SELECT DEGREES( 0.52 ) FROM iq_dummy 1.34DIF

37、FERENCE 函数String 比较两个字符串,评估它们Z间的相似性,并返回0到4之间的一个值。最佳匹配值是4o 语法: DIFFERENCE ( string-expressionh string-expression2) 参数 string-expressionl 要比较的第一个字符串。 string-expression2 要比较的第二个字符串。 Select differenee ( huyong 1,1 buyong), differencehuyong, , jiayong“), differenceC huyong, jiahen), differenceC huyong 1,

38、 jiafeiV ), differenced huyong, adfcvdast , ) from TEST; differenceeuyonQf/huyonflO”yongt) drfferenceChuyong ,.jiahen,) drfterence(Txiyongefen9 CMferenceChuyongVadfcvdatT) _!_1 43| 2| 1| 0 1.35DOW 函数Date and time 返回 1到7之间的一个数字,表示指定日期中的星期几,星期日二1、星期一=2,依此类推。 语法: DOW ( date-expression) SELECT DOW( l199

39、8-07-09,) FROM test; DOWC1998.07.09 1) 1 I 5 1.36EVENT_CONDITION 函数System 指定何时触发事件处理程序。 语法EVENT_CONDITION (condition-name) 参数condition-name触发事件的条件。可能的值己经在数据库中预设,并口不区分大小写。每个 条件仅对于某些事件类型有效。 注奔 DBDiskSpace 显示 J 系统数 IK 库文件 ( ? db ! i 门 是 IQ 存储 中的可用空间? 系统临时文件(由 TENIP 或 ASTMP 弘 炖变量折向该文件) i IQ tt 时存储 中的可用空

40、何? create event LogNotifier type LogDiskSpace where event_condition( LogFreePercent 1) 50 1.77RTRIM 函数String 返回尾随空白己删除的字符串。 reversefabctf) Idcba 1.78SIMILAR 函数String 釆用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reversefabctf) 1 |dcba 1.79REVERSE 函数String 采用一个参数作为B

41、INARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; 1.80REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; 1.81REVERSE 函数String 釆用一个参数作为 BINARY 或 STRING 类型的输入,并返回字符以反向顺序列出的指定字符串。 select reverse( ,abcd,) from test; reversefabctf) Idcb

42、a 1.82REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reversefabccf) 1 Idcba 1.83REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reverseCabctf) 1 |dcba 1.84REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,

43、并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; 1.85REVERSE 函数String 釆用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reversefabctf) Idcba 1.86REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse(*abcd) from test; reversefabctf) 1 |dcba

44、1.87REVERSE 函数String 釆用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse(*abcd) from test; reversefabctf) 1 |dcba 1.88REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reversefabctf) 1 |dcba 1.89REVERSE 函数String 釆用一个参数作为BINARY或STRING类型的输入,并返回字

45、符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reversefabctf) 1 |dcba 1.90REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse( ,abcd,) from test; reverseCabctf) Idcba 1.91REVERSE 函数String 采用一个参数作为BINARY或STRING类型的输入,并返回字符以反向顺序列出的指定字符串。select reverse(*abcd) from test; reverseCabccT) 1 Idcba

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1