当前位置: 代码迷 >> Sybase >> sybase惯用函数
  详细解决方案

sybase惯用函数

热度:2444   发布时间:2013-02-26 00:00:00.0
sybase常用函数

/**

sybase本来就没有dual表,为了方便,你可以建一个dual表。?
create ? table ? dual ? (data ? char(1))?
go?
insert ? into ? dual ? select ? 'x '?
go?
你可以象oracle里面一样使用该表了。?

?

*/

?

?

select ? datalength('chenwei'),-- 字符串的长度?


substring('chenwei',1,2) ,-- 截取字符串:从第一个开始截取2个字符


right('chenwei',2), -- 右边两个字符


upper('CHENwei'), -- 取字符的大写?


lower('CHENWEI'), -- 取字符的小写


replicate('猪',5),-- 字符重复次数


space(10),-- 生成10个空格


reverse("chenwei"), -- 字符顺序相反


ltrim(" ? ?chenwei ? ?"), -- 去左边空格


rtrim(" ? ?chenwei ? ?"),-- 去右边空格


ascii('b'), -- 转换一个字符的ASCII码


char(99), -- 转换一个ASCII码为字符


soundex('v'),?


'0','0'



go



select ? difference('chenwei','wei'),


charindex('chenwei','chenwei'),


getdate(),


datename(mm,getdate()), -- 日期各个部分的名称


dateadd(mm,-2,getdate()), -- 日期各个部分的增加


datediff(mm,getdate(),dateadd(mm,-2,getdate())), -- 日期各个部分的比较


/**

datepart

日期部件 ? 缩写 ? 值范围

年 yy ? 1753-9999

季度 qq ? 1-4

月 mm ? 1-12

每年中的天 ? dy ? 1-366

天 dd ? 1-31

星期 wk ? 1-54

星期天 dw ? 1-7(1=sunday)

小时 hh ? 0-23

分钟 mi ? 0-59

秒 ss ? 0-59

毫秒 ms ? 0-999

*/


convert(char,getdate(),109),


/**

序号 格式代号 转换字符串中日期格式

0 100 mon dd yyy hh:miAM(or PM)

1 101 mm/dd/yy

2 102 yy.mm.dd

3 103 dd/mm/yy

4 104 dd.mm.yy

5 105 dd-mm-yy

6 106 dd mon yy

7 107 mon dd,yy

8 108 hh:mm:ss

? ? 9 or 109 ? mon dd,yyyy hh:mi:ss:mmmAM(or PM)

10 110 mm-dd-yy

11 111 yy/mm/dd

12 112 yymmdd

*/

'0'?

??


go

?


select?


isnull(null,'a'), ?--相当于oracle的 nvl


host_id(), --主机进程


host_name(),-- 主机名称


'0'


?



?