sybase 函数
- 格式:doc
- 大小:70.00 KB
- 文档页数:15
Sybase函数⼤全SYbase函数学习(⼀)ASCII 返回表达式中第⼀个字符的ASCII代码。
如:select ASCII(‘Bennet’) 结果:66select ASCII(‘B’) 结果:66avg 返回所有(不同)值的数字平均值 avg([all | distinct ] expression),其中all为缺省值,表⽰全部;distinct是在应⽤avg之前取消重复值。
Distinct是可选。
当应⽤于group by⼦句时,集合函数将为每个组(⽽⾮整个表)⽣成⼀个值。
eg :将titles表按出版商分组,并且只包括那些预付款总额超过25000且书籍平均价格⾼于15的出版商所形成的组。
select id ,sum(advance) , avg(price) from titlesgroup by idhaving sum(advance) > 25000 and avg(price) >15having与where类似,可⽤来决定选择哪个记录。
在使⽤group by对这些记录分组后,having会决定应显⽰的记录。
char 返回整数的等值字符。
他将单字节整数值转换为字符值(char通常⽤作ASCII的倒数)charindex 返回表⽰表达式起始位置的整数。
返回表company的列address中‘start’的起始位置。
eg:select charindex(“start”,address) from company where company_id = 57char_length 返回表达式中字符的数量。
对于可变长度的列和变量,它将返回字符的个数(包括尾部的空格);对于⽂字和固定长度的字符列和变量,就是声明的长度。
所以⼀般我们要求字符串的长度,最后不要⽤这个。
col_length 返回已定义的列的长度。
如:返回表tablename 的title列的长度,select col_length(‘tablename’,’title’)注意:对text和image,numeric列⽐较特殊。
sybase ifnull函数用法Sybase是一种关系型数据库管理系统,常用于企业级的数据存储、处理和查询。
ifnull函数是Sybase中一个非常重要的函数之一,它的作用是用来判断一个值是否为空,如果为空则返回默认值,如果不为空则返回该值本身。
ifnull函数的基本语法为:ifnull(expression1, expression2)expression1是需要判断是否为空的值,expression2是如果expression1为空需要返回的默认值。
如果expression1不为空,则返回expression1本身。
如果expression1为空,则ifnull函数会返回expression2的值,而如果expression1不为空,则ifnull函数会返回expression1的值。
那么ifnull函数怎么使用呢?我们来看一些例子:例子1:判断一个数值是否为空,为空则返回0```SELECT IFNULL(NULL, 0);```执行结果为:``````上面的例子中,我们传入了一个空值NULL作为第一个参数,而0作为第二个参数,因为第一个参数为空,所以ifnull函数返回了0。
例子2:从数据表中查询出某个字段的值,如果为空则返回"未知"```SELECT IFNULL(name, '未知') as name FROM students;```执行结果为:```name-------小明小花未知小刚小兰```上面的例子中,我们指定了一个表名为students,并查询了该表中的name字段,通过ifnull函数判断name字段是否为空,如果为空则返回"未知",否则返回该字段本身。
例子3:计算两个数值之和,如果其中有一个数值为空则返回另一个数值本身```SELECT IFNULL(num1, 0) + IFNULL(num2, 0) as sum FROM nums;```假设nums表中的数据如下:```num1 num2----- -----1 NULL3 4NULL 2```执行结果为:```sum-----172```上面的例子中,我们查询了nums表中的num1和num2字段的值,并使用ifnull函数来判断它们是否为空,如果为空则返回0,最后将两个值相加得到sum字段的值。
Sybase-iq数据库函数整理文档Sybase iq 数据库函数总结建数据库脚本:CREATE DATABASE 'e:\Program Files\Sybase\ASIQ-12_7\myiq\myiq.db'TRANSACTION LOG ONCOLLATION '936ZHO'PAGE SIZE 4096JAVA ONJCONNECT ONCASE RESPECTPASSWORD CASE RESPECTIQ PATH 'myiq.iq'IQ SIZE 100IQ PAGE SIZE 131072TEMPORARY PATH 'myiq.iqtmp'TEMPORARY SIZE 10SET OPTION public.MINIMIZE_STORAGE = ON ;这个可以在数据库中设置一下,这样减轻字段存储空间的压力--select * from all_ind_columns where table_name='TB_CM_SERV' and table_owner='IODATA_GZ';数据文件的使用率:Create procedure myspace()BeginDeclare mt unsigned bigint;Declare mu unsigned bigint;Declare tt unsigned bigint;Declare tu unsigned bigint;Call sp_iqspaceused (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 tempMB,Cast(tu/1024 as unsigned bigint) as tempusedMB,Tu*100/tt as tempPerCent;End一、数据类型1.1 日期及时间数据类型DATE 日历日期,如年、月、日。
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值之差串内搜索charindex(char_expr,expression) 返回指定char_expr的开始位置,否则为0 patindex("%pattern%",expression) 返回指定样式的开始位置,否则为0 datalength用于确定可变字符串的长度soundex用于确定字符串是否发音相似difference返回0-4之间的值,0表示最不相似,4表示最相似通配符% 匹配任何数量的字符或无字符_ 匹配任何单个字符(空间占位符)[] 规定有效范围,或某个"OR"条件[ABG] A,B,G[A-C] A,B,C[A-CE-G] A,B,C,E,F,G[^ABG] 除了A,B,G[^A-C] 除了A,B,Cescape子句用某个转义字符可在搜索字符串时将通配符作为文字来包含。
函数比较:数学函数:要点:1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。
DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。
但Oracle中使用nvl方法。
这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句字符函数:要点:1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。
DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。
但Oracle中使用nvl方法。
这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句2.注意oracle中取字符子串的方法名与其他数据库不一样日期函数:要点:1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。
DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。
但Oracle中使用nvl方法。
这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句转换函数:要点:各种数据库中类型转换方法可通过PreparedStatement.setXXX()做成不依靠DBMS的处理.其他单行函数:统计函数:MS分开处理。
DBMS支持SQL92规定的SQL函数coalesce() etNvlSqlString(String strColName, String的语句XX()做成不依靠DBMS的处理.MS分开处理。
DBMS支持SQL92规定的SQL函数coalesce() etNvlSqlString(String strColName, String的语句MS分开处理。
sybase语法Sybase语法详解导语:Sybase是一种关系数据库管理系统(RDBMS),提供了强大的数据管理和处理功能。
本文将详细介绍Sybase的语法,包括数据表的创建、数据的插入与查询、条件筛选、排序和聚合函数等。
一、数据表的创建在Sybase中,可以使用CREATE TABLE语句来创建数据表。
语法如下:CREATE TABLE 表名 (列1 数据类型,列2 数据类型,列3 数据类型,...)例如,创建一个名为"employees"的数据表,包含"emp_id"、"emp_name"和"emp_salary"三列,分别为整数、字符和浮点数类型,可以使用以下语句:CREATE TABLE employees (emp_id INT,emp_name VARCHAR(50),emp_salary FLOAT)二、数据的插入与查询1. 数据插入使用INSERT INTO语句可以向Sybase数据库中的数据表插入数据。
语法如下:INSERT INTO 表名(列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...)例如,向"employees"表中插入一条员工数据,可以使用以下语句:INSERT INTO employees (emp_id, emp_name, emp_salary) VALUES (1, '张三', 5000)2. 数据查询使用SELECT语句可以从Sybase数据库中的数据表中查询数据。
语法如下:SELECT 列1, 列2, 列3, ... FROM 表名例如,查询"employees"表中所有员工的姓名和工资,可以使用以下语句:SELECT emp_name, emp_salary FROM employees三、条件筛选使用WHERE子句可以对查询结果进行条件筛选。
1.1 常用命令介绍1.1.1 数据库操纵命令1.1.1.1 ISQL语法举例:isql –Usa –P –SSYSMIS {> filename{< filename}}说明:-U:用户名;-P:口令;-S:SERVER名。
SERVER名必须在$HOME/interfaces中有定义,其作用相当于PC CLIENT端的sql.ini,其维护工具是$HOME/install/sybinit,相当于PC CLIENT端的sqledit.exe。
注意在使用sybinit定义SERVER时,IP地址在/etc/hosts文件中须有定义(如“192.9.202.201 hb1”),否则在定义过程中会有警告信息,但不影响使用。
1.1.1.2 dbcc checkdb作用:检查数据库状态。
语法举例:dbcc checkdb(DATABASE NAME)。
说明:一般情况下该命令与dbcc checkalloc、dbcc checktable 配合使用,以检查数据库的使用情况。
根据命令显示结果进行维护操作,该命令的输出显示一般为以下文本:……Checking syslogsThe total number of data pages in this table is 225.*** NOTICE: Space used on the log segment is 0.44 Mbytes, 0.88%.*** NOTICE: Space free on the log segment is 49.56 Mbytes, 99.12%.Table has 5168 data rows.……Checking csszh_csdjThe total number of data pages in this table is 1.Table has 16 data rows.……DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.若显示结果与上述有异,则结合其它dbcc命令确定具体是什么错误,报错时会显示Msg号,根据Msg号,采取相应的解决方法。
Sybase Match函数是Sybase数据库中一个非常重要的函数,它用于在数据库中进行模糊匹配和搜索。
在实际的数据库应用中,我们经常需要用到Match函数来进行数据的查找和筛选,掌握Match函数的使用方法对于数据库开发和管理人员来说是非常必要的。
一、Match函数的基本语法Match函数的基本语法如下:```sqlMATCH (column) AG本人NST (expression)```其中,column表示要进行匹配的列名,expression表示要进行匹配的表达式。
在使用Match函数时,需要注意以下几点:1. expression可以是一个单词,也可以是一个短语,甚至是一个完整的句子。
在进行搜索时,可以使用通配符和布尔运算符来组合表达式,以实现更加灵活的匹配。
2. Match函数对大小写是敏感的,因此在使用Match函数进行搜索时,需要注意匹配的关键词是否与数据库中的数据严格匹配。
3. Match函数还可以支持全文搜索和自然语言搜索。
在进行搜索时,可以通过设置参数来选择使用哪种搜索模式。
全文搜索模式会根据关键词的相关性进行匹配,而自然语言搜索模式则会根据自然语言处理算法进行匹配。
二、Match函数的使用示例以下是一个使用Match函数进行模糊搜索的示例:```sqlSELECT * FROM table_nameWHERE MATCH (column) AG本人NST ('keyword' IN BOOLEAN MODE);```在上面的示例中,我们使用Match函数对表中的某一列进行模糊搜索,关键词为'keyword'。
我们还设置了匹配模式为布尔模式,以实现更加灵活的匹配。
除了进行简单的模糊搜索之外,Match函数还可以和其他SQL语句进行组合使用,以实现更加复杂的查询和筛选。
以下是一个使用Match函数和其他条件进行查询的示例:```sqlSELECT * FROM table_nameWHERE column1 = 'value1'AND MATCH (column2) AG本人NST ('keyword' IN NATURAL LANGUAGE MODE);```在上面的示例中,我们将Match函数与AND条件一起使用,实现了对表中两列的同时匹配,以及对表中其他条件的筛选。
在Sybase数据库中,你可以使用`UNPIVOT`操作来将列转换为行。
但是,需要注意的是,`UNPIVOT`在Sybase ASE (Adaptive Server Enterprise)中并不可用。
如果你正在使用Sybase ASE,你可以使用多个方法来实现列转行的效果。
以下是一个使用公用表表达式(CTE) 的示例:```sqlWITH cte AS (SELECT Product,Max(CASE WHEN Attribute = 'Color' THEN Value END) AS Color,Max(CASE WHEN Attribute = 'Size' THEN Value END) AS SizeFROM YourTableGROUP BY Product)SELECT Product, Attribute, ValueFROM cteUNION ALLSELECT Product, 'Other', ValueFROM YourTableWHERE Product NOT IN (SELECT DISTINCT Product FROM cte) ```这个示例中,我们首先使用一个CTE来创建一个具有每个产品属性和其值的表。
然后,我们使用`UNION ALL`与原始表联接,将未包含在CTE中的产品及其值包括进来。
如果你正在使用Sybase IQ或其他支持`UNPIVOT`的Sybase产品,你可以直接使用`UNPIVOT`操作:```sqlSELECT Product, Attribute, ValueFROM YourTableUNPIVOT (Value FOR Attribute IN (Color, Size)) AS unpvt;```请注意,上述示例假设你的原始表有名为`Color`和`Size`的列,并且你想要将它们转换为行。
sybase round函数-回复用户询问的是关于Sybase数据库中的ROUND函数的知识。
ROUND函数是用于对给定数值进行四舍五入操作的函数。
在本文中,我们将步骤逐一讨论ROUND函数的使用及其相关方面。
首先,我们需要了解ROUND函数的基本语法和参数。
在Sybase数据库中,ROUND函数的语法如下:ROUND(number, [decimal_places])其中,number是要进行四舍五入操作的数值,而decimal_places是保留的小数位数。
接下来,我们将逐步详细解释这些步骤,以便更好地理解ROUND函数的用法。
第一步:了解ROUND函数的基本功能ROUND函数是一个用于数值操作的内置函数。
它可将一个给定的数值四舍五入到指定的小数位数上。
例如,如果我们有一个数值为2.34567,并且要将其保留到小数点后两位,则可以使用ROUND函数将其四舍五入为第二步:理解ROUND函数的参数ROUND函数有两个参数。
第一个参数是需要进行四舍五入操作的数值,它可以是一个具体的数值,也可以是一个表达式。
第二个参数是可选的,它表示要保留的小数位数。
如果省略第二个参数,则默认将数值四舍五入到整数。
第三步:使用ROUND函数进行四舍五入操作要使用ROUND函数进行四舍五入操作,我们需要按照以下步骤来进行:1. 输入ROUND函数的语法,例如:ROUND(number, [decimal_places])。
2. 在函数的第一个参数中,指定需要进行四舍五入操作的数值。
这可以是一个具体的数值,也可以是一个表达式。
3. 在函数的第二个参数中,指定要保留的小数位数。
这个参数是可选的,如果不指定,则默认将数值四舍五入到整数。
4. 执行SQL查询语句,以调用ROUND函数并进行四舍五入操作。
第四步:观察ROUND函数的返回结果一旦我们执行了带有ROUND函数的SQL查询语句,该函数将返回四舍五入后的结果。
我们可以使用SELECT语句来查看结果。
Sybase数据库常⽤函数Sybase数据库常⽤函数⼀、字符串函数1,ISNULL(EXP1,EXP2,EXP3,...) :返回第⼀个⾮空值,⽤法与COALESCE(exp1,exp2[,exp3...])相同;2,TRIM(exp) :去除两边空格;3,DATEFORMAT(date_exp,date_format) :⽇期型转字符型;4,STRING(exp):转为字符型;5,SUBSTRING(exp,int-exp1,[int-exp2]):截取exp从int-exp1开始,截取int-exp2个字符;6,REPLACE(o-exp,search-exp,replace-exp):从o-exp搜索search-exp,替换为replace-exp;7,SPACE(int_exp):返回int个空格;8,UPPER(exp):转为⼤写字母,等价于UCASE(exp);9,LOWER(exp):转为⼩写字母;10,CHARINDEX(exp1,exp2):返回exp2字符串中exp1的位置!定位,exp1 查找的字符,exp2 被查找的字符串; 11,DATALENGTH(CHAR_EXPR):在char_expr中返回字符的长度值,忽略尾空;12,RIGHT(char_expr,int_expr):返回char_expr右边的int_expr个字符;13,LEFT(char_expr,int_expr):返回char_expr左边的int_expr个字符;14,REPLICATE(char_expr,int_expr):重复char_expr,int_expr次;15,STUFF(expr1,start,length,expr2):⽤expr2代替epxr1中start起始长为length的字符串;16,REVERSE(char_expr):反写char_expr中的⽂本;17,LTRIM(char_expr):删除头空;18,RTRIM(char_expr):删除尾空;19,STR(float_expr[,length[,decimal]]):进⾏数值型到字符型转换;20,PATINDEX("%pattern%",expression):返回指定样式的开始位置,否则为0;21,NULLIF(exp1,exp1):⽐较两个表达式,如果相等则返回null值,否则返回exp122,NUMBER(*):返回序号,相当于ORACLE的rowid,但有区别;⼆、数值函数1,CEIL(num-exp):返回⼤于或等于指定表达式的最⼩整数;兼容性:IQ&ASE;2,FLOOR(numeric_expr):返回⼩于或等于指定值的最⼤整数;3,ABS(num-exp):返回数值表达式的绝对值;兼容性:IQ&ASE;4,TRUNCNUM(1231.1251,2):截取数值;不四舍五⼊;5,ROUND(numeric_expr,int_expr):把数值表达式圆整到int_expr指定的精度;6,RAND([int_expr]):返回0-1之间的随机浮点数,可指定基值;7,SIGN(int_expr):返回正+1,零0或负-1;8,SQRT(float_expr):返回指定值的平⽅根;9,PI():返回常数3.1415926;10,POWER(numeric_expr,power):返回numeric_expr的值给power的幂;11,EXP(float_expr):给出指定值的指数值;三、⽇期函数1,DAY(date_exp):返回⽇期天值,DAYS(date_exp,int):返回⽇期date_exp加int后的⽇期;MONTH与MONTHS、YEAR与YEARS同理;2,DATE(exp):将表达式转换为⽇期,并删除任何⼩时、分钟或秒;兼容性:IQ3,DATEPART(date-part,date-exp): 返回⽇期分量的对应值(整数);4,GETDATE():返回系统时间;5,DATENAME(datepart,date_expr):以字符串形式返回date_expr指定部分的值,转换成合适的名字;6,DATEDIFF(datepart,date_expr1,date_expr2):返回date_expr2-date_expr1,通过指定的datepart度量;7,DATEADD(date-part,num-exp,date-exp):返回按指定date-part分量加num-exp值后⽣成的date-exp值;兼容性:IQ&ASE8,date-part⽇期分量代表值:缩写值YY 0001-9999QQ 1-4MM 1-12WK 1-54DD 1-31DY 1--366DW 1-7(周⽇-周六)HH 0-23MI 0-59SS 0-59MS 0-999四、转换函数1,CONVERT(datetype,exp[,format-style]):字符转⽇期型或DATE(exp);兼容性:IQ&ASEformat-style值输出:112 yyyymmdd120 yyyy-mm-dd hh:nn:ssSELECT CONVERT(date,'20101231',112),CONVERT(varchar(10),getdate(),120) ;--结果2010-12-312011-04-072,CAST(exp AS data-type):返回转换为提供的数据类型的表达式的值;兼容性:IQ⽇期函数五、其他函数1,RANK() OVER(PARTITION BY .. ORDER BY ..) 分组分析函数,相同的ORDER BY值,返回顺序值⼀样,且PARTITION BY 只⽀持⼀个字段或⼀个字段组(需多个字段分组的则要⽤ || 拼为⼀个字段(待确认))2,返回可读的全局ID UUIDTOSTR(NEWID())3,COL_LENGTH(tab_name,col_name):返回定义的列长度;兼容性:IQ&ASE4,LENGTH(exp):返回exp的长度;兼容性:IQ。
ASCII 返回表达式中第一个字符的ASCII代码。
如:select ASCII(‘Bennet’) 结果:66select ASCII(‘B’) 结果:66avg 返回所有(不同)值的数字平均值 avg([all | distinct ] expression),其中all 为缺省值,表示全部;distinct是在应用avg之前取消重复值。
Distinct是可选。
当应用于group by子句时,集合函数将为每个组(而非整个表)生成一个值。
eg :将titles表按出版商分组,并且只包括那些预付款总额超过25000且书籍平均价格高于15的出版商所形成的组。
select id ,sum(advance) , avg(price) from titlesgroup by idhaving sum(advance) > 25000 and avg(price) >15pare 直接比较两个字符串,如果不一样,则返回-12.convert 数据类型转换函数,如:convert(varchar(20),title)3.count 返回非空值的数量或选定的行数。
count([all|distinct] expression)其中distinct是在应用count前取消重复值。
eg:查找作者居住的不同城市的数量:select count(distinct city) from authorseg:列出titles表中的类型,但取消只包含一本书或不包含任何书的类型:select type from titles group by type having count(*)>1count(*)是返回行数,用的最多。
4.current_date() 返回当前日期(不包括小时)。
eg: select current_date()eg: 用datename标识当前日期select datename(month,current_date())结果:August注意:结果不是8eg:用datepart标识当前日期select datepart(month,current_date())结果:85.current_time() 返回当前时间eg: select current_time()eg: 返回当前时间的分钟select datename(minute,current_time())6.curunreservedpas 返回指定磁盘区段中的可用页数Curunreservedpgs(dbid,istart,unreservedpgs)dbid是数据库的ID,它们存储在sysdatabases的dbid字段。
Istart是要返回的页所在磁盘区段中的一页。
Unreservedpgs是在dbtable当前对于所请求的数据库不可用时返回的缺省值。
eg: 返回数据库名称、设备名和每个设备区段中的未保留页数。
select db_name(dbid), ,curunreservedpgs(dbid,1,unreservedpgs) from sysusages u ,sysdevices d where d.low <=u.size+vstartand d.high>=u.size+vstart - 1and d.status &2 = 2eg:显示从sysusages.istart开始的dbid段上的可用页数;select curunreservedpgs(dbid, sysusages.istart,0)实例化:select curunreservedpgs(6,1,0)having与where类似,可用来决定选择哪个记录。
在使用group by对这些记录分组后,having会决定应显示的记录。
char 返回整数的等值字符。
他将单字节整数值转换为字符值(char通常用作ASCII的倒数)charindex 返回表示表达式起始位置的整数。
返回表company的列address中‘start’的起始位置。
eg:select charindex(“start”,address) from company where company_id = 57 char_length返回表达式中字符的数量。
对于可变长度的列和变量,它将返回字符的个数(包括尾部的空格);对于文字和固定长度的字符列和变量,就是声明的长度。
所以一般我们要求字符串的长度,最后不要用这个。
col_length 返回已定义的列的长度。
如:返回表tablename 的title列的长度,select col_length(‘tablename’,’title’)注意:对text和image,numeric列比较特殊。
col_name 返回已指定ID和列ID的列的名称,通俗点就是得到列名。
sybase函数学习(三)1.datalength 返回指定列或字符串的实际长度(以字节表示)select datalength('a11中国') 结果为7select datalength('a11 ') 结果为3注意:结果是以字节表示2.dateadd 返回向指定日期添加给定数量的年、季度、小时或其它分量后所得的日期分量后所得的日期。
Dateadd(date_part,integer, date expression)如:titles表中所有书的出版日期推迟21天Select newpubdate = dateadd(day,21,pubdate) from titles向日期前添加一天Select dateadd(dd,1,”apr 12,9999”)向时间添加5分钟Select dateadd(mi,5,convert(time,”14:20:00”))Select dateadd(hh,23,”4/1/1979”)3.datediff 返回两个日期之间的差值。
这个日期的差值可能是小时,天,年等。
4.datename 以字符串的形式返回指定date或time的指定部分。
Select datename(month,getdate()) 结果November5.datapart 以整数的形式返回指定date的指定部分。
Select datapart (month,getdate()) 结果 46.day 返回指定日期的datepart中表示天的整数Select day(‘11/02/03’) 结果 27.db_id 返回数据库的ID号Select db_id(‘pub’) 返回pub数据库的idSelect db_id() 当前数据库的ID1. db_name 返回指定数据库的名称它和db_id正好相反例如:select db_name() 当前数据库的名称Select db_name(4) ID为4的数据库的名称2.floor 返回小于或等于指定值的最大整数例如:select floor(123.24) 结果:123Select floor(-123.24) 结果:-124Select floor($123.45) 结果:123.00注意:对于数字和小数表达式,其结果的精度与该表达式的精度相同,标度为03. getdate 返回当前系统日期和时间例如:select getdate() 结果:当前日期,包括日期和时间Select datepart(month,getdate()) 结果:12Select datename(month,getdate()) 结果:December4.host_id 返回当前Adaptive Server客户端机操作系统进程ID,host_name 返回当前Adaptive Server客户端机操作系统进程名称例如:select host_name(),host_id()结果:ylzhang,1365Ylzhang是计算机名,1365是Adaptive Server客户端进程的进程ID5.identity_burn_max 跟踪给定表的identity burn最大值,此函数只返还只而不进行更新。
例如:select identity_burn_max(‘tablename’)注意:返回的是自增列的最大ID,如果这个表没有自增列,则返回为null6.index_col 返回指定表或视图中带索引的列的名称。
7.index_clolrder 返回列的顺序8.isnull 当expression求值为null时,用expression中的值替代它。
例如:select isnull(name,’zhang’) from titles 结果:name列为null值的替换为zhang9.is_sec_service_on 安全服务启用时返回1;否则返回0is_sec_service_on(sevurity_service_nm)其中:sevurity_service_nm是安全服务的名称。
查找安全服务的有效名称,用select * from syssecmechs例如:select is_sec_service_on(“unifiedlogin”)10.left 返回字符串最左侧指定数目的字符。
left(character_expression,integer_expression)例如:select left(‘123456789’,5) 结果:12345select left(‘123 456789’,5) 结果:123 4返回名字的前5个字符,select left(name,5) from user11.len 返回指定字符串表达式(不包括尾随空白)的字符数(而不是字节数)len(string_expression)例如:select len(‘中国’) 结果:2注意: char_length,char,len之间的区别12.lower 返回指定表达式的等值小写表达式(就是把大写字符变成小写)例如:select lower(‘12FEC张’) 结果:12fec张13.ltrim 返回指定的表达式,其中删去了前导空白。
例如:select ltrim(‘ aa’) 结果:aaselect ltrim(‘aa ’)+’cc’结果:aa ccselect ltrim(‘a a’) 结果: a a注意:只删去了前导空白14.max 和 min 返回列中最大值和最小值例如:select max(price) from computerselect min(price) from computer15.month 返回一个整数,该整数表示月份。
例如:select month(getdate()) 结果:12同理: select day(getdate()) 结果:15select year(getdate()) 结果:200616.mut_excl_roles 返回有关两个角色之间互斥性的信息。