zoukankan      html  css  js  c++  java
  • Sybase常用函数

    ==================================常用函数===========================================
    字符串函数
    1)ISNULL(EXP1,EXP2,EXP3,...) :返回第一个非空值,用法与COALESCE(exp1,exp2[,exp3...])相同
    3)TRIM(exp) :去除两边空格
    4)DATEFORMAT(date_exp,date_format) :日期型转字符型;
    5)STRING(exp):转为字符型;
    6)SUBSTRING(exp,int-exp1,[int-exp2]):截取exp从int-exp1开始,截取int-exp2个字符;
    7)REPLACE(o-exp,search-exp,replace-exp):从o-exp搜索search-exp,替换为replace-exp;
    8)SPACE(int_exp):返回int个空格;
    8)UPPER(exp):转为大写字母,等价于UCASE(exp);
    8)LOWER(exp):转为小写字母,
    8)CHARINDEX(exp1,exp2):返回exp2字符串中exp1的位置!定位,exp1 查找的字符,exp2 被查找的字符串;
    8)DATALENGTH(CHAR_EXPR):在char_expr中返回字符的长度值,忽略尾空;
    8)RIGHT(char_expr,int_expr):返回char_expr右边的int_expr个字符;
    8)LEFT(char_expr,int_expr):返回char_expr左边的int_expr个字符;
    8)REPLICATE(char_expr,int_expr):重复char_expr,int_expr次;
    8)STUFF(expr1,start,length,expr2):用expr2代替epxr1中start起始长为length的字符串;
    8)REVERSE(char_expr):反写char_expr中的文本;
    8)LTRIM(char_expr):删除头空;
    8)RTRIM(char_expr):删除尾空;
    8)STR(float_expr[,length[,decimal]]):进行数值型到字符型转换;
    8)PATINDEX("%pattern%",expression):返回指定样式的开始位置,否则为0;
    8)NULLIF(exp1,exp1):比较两个表达式,如果相等则返回null值,否则返回exp1
    8)NUMBER(*):返回序号,相当于ORACLE的rowid,但有区别;
    其他函数
    8)RANK() OVER(PARTITION BY .. ORDER BY ..) 分组分析函数,相同的ORDER BY值,返回顺序值一样,且PARTITION BY 只支持一个字段或一个字段组(需多个字段分组的则要用 || 拼为一个字段(待确认))
    8)返回可读的 全局ID UUIDTOSTR(NEWID())
    8)COL_LENGTH(tab_name,col_name):返回定义的列长度;兼容性:IQ&ASE
    8)LENGTH(exp):返回exp的长度;兼容性:IQ
    转换函数
    8)CONVERT(datetype,exp[,format-style]):字符转日期型 或DATE(exp);兼容性:IQ&ASE
    format-style值 输出:
    112 yyyymmdd
    120 yyyy-mm-dd hh:nn:ss
    SELECT CONVERT(date,'20101231',112),CONVERT(varchar(10),getdate(),120) ;  
    --结果  
      2010-12-31 2011-04-07
    8)CAST(exp AS data-type):返回转换为提供的数据类型的表达式的值; 

    (1.SELECT CAST(ID AS INTEGER) FROM A;    SELECT CAST(ID AS DECIMAL(18,X)) FROM A --X指小数位)

    日期函数
    8)DAY(date_exp):返回日期天值,DAYS(date_exp,int):返回日期date_exp加int后的日期;MONTH与MONTHS、YEAR与YEARS同理;
    8)DATE(exp):将表达式转换为日期,并删除任何小时、分钟或秒;兼容性:IQ
    8)DATEPART(date-part,date-exp): 返回日期分量的对应值(整数);
    8)GETDATE():返回系统时间;
    8)DATENAME(datepart,date_expr):以字符串形式返回date_expr指定部分的值,转换成合适的名字;
    8)DATEDIFF(datepart,date_expr1,date_expr2):返回date_expr2-date_expr1,通过指定的datepart度量;
    8)DATEADD(date-part,num-exp,date-exp):返回按指定date-part分量加num-exp值后生成的date-exp值;兼容性:IQ&ASE
    date-part日期分量代表值:
    缩写 值
    YY 0001-9999
    QQ 1-4
    MM 1-12
    WK 1-54
    DD 1-31
    DY 1--366
    DW 1-7(周日-周六)
    HH 0-23
    MI 0-59
    SS 0-59
    MS 0-999
    数值函数
    8)CEIL(num-exp):返回大于或等于指定表达式的最小整数;兼容性:IQ&ASE;
    8)FLOOR(numeric_expr):返回小于或等于指定值的最大整数;
    8)ABS(num-exp):返回数值表达式的绝对值;兼容性:IQ&ASE;
    8)TRUNCNUM(1231.1251,2):截取数值;不四舍五入;
    8)ROUND(numeric_expr,int_expr):把数值表达式圆整到int_expr指定的精度;
    8)RAND([int_expr]):返回0-1之间的随机浮点数,可指定基值;
    8)SIGN(int_expr):返回正+1,零0或负-1;
    8)SQRT(float_expr):返回指定值的平方根;  
    8)PI():返回常数3.1415926;
    8)POWER(numeric_expr,power):返回numeric_expr的值给power的幂;
    8)EXP(float_expr):给出指定值的指数值;

    ==================================常用DDL语句===========================================
    Sybase中DDL语句不能修改字段的数据类型,只能修改空与非空:
    1.删除列:
    ALTER TABLE table_name DELETE column_name;
    2.增加列:
    ALTER TABLE table_name ADD (column_name DATA_TYPE [NOT] NULL);
    3.修改列的空与非空:
    ALTER TABLE table_name MODIFY column_name [NOT] NULL;

    修改列的字段类型:ALTER TABLE table_name MODIFY column_name 列属性
    4.修改列名:
    ALTER TABLE table_name RENAME old_column_name TO new_column_name;
    5.快速建立临时表:
    SELECT * INTO [#]table_name FROM .....;
    6、修改表名:
    ALTER TABLE old_table_name RENAME new_table_name
    7.增加主键约束:
    ALTER TABLE tb_name ADD CONSTRAINT pk_name PRIMARY KEY(col_name,..)
    8.删除主键约束:
    ALTER TABLE tb_name DROP CONSTRAINT pk_name;
    9.建立自增长字段,与Oracle的SEQUENCE类似:
    CREATE TABLE TMP_001 (RES_ID INTEGER IDENTITY NOT NULL);
    10.添加表注释:
    COMMENT ON TABLE table_name IS '....';
    11.创建索引:
    CREATE INDEX index_name ON table_name(column_name);

    转载:

  • 相关阅读:
    hdu 2444 交叉染色判断二分图+二分最大匹配
    uva 交叉染色法10004
    poj 3177&&3352 求边双联通分量,先求桥,然后求分量( 临界表代码)
    poj 3177&&poj 3352加边构双联通(有重边)用tarjan 模板求的
    poj 3006水题打素数表
    POJ 3352 无向图边双连通分量,缩点,无重边
    hdu 1430 魔板 康托展开 + 很好的映射
    D. Artsem and Saunders 数学题
    vijos P1412多人背包 DP的前k优解
    1475 建设国家 DP
  • 原文地址:https://www.cnblogs.com/rusking/p/5032746.html
Copyright © 2011-2022 走看看