zoukankan      html  css  js  c++  java
  • SQLServer基本函数

    1.字符串函数 
      长度与分析用

        datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格

        substring(expression,start,length) 取子串

        right(char_expr,int_expr) 返回字符串右边int_expr个字符

      字符操作类

        upper(char_expr) 转为大写

        lower(char_expr) 转为小写

        space(int_expr) 生成int_expr个空格

        replicate(char_expr,int_expr)复制字符串int_expr次

        reverse(char_expr) 反转字符串顺序

        stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从start开始的length个字符用char_expr2代替

        ltrim(char_expr)和rtrim(char_expr) 去掉空格

        ascii(char)和char(ascii) 两函数对应,取ascii码,根据ascii吗取字符


      字符串查找

        charindex(char_expr,expression) 返回char_expr的起始位置

        patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0


    2.数学函数

      abs(numeric_expr) 求绝对值

      ceiling(numeric_expr) 取大于等于指定值的最小整数

      exp(float_expr) 取指数

      floor(numeric_expr) 小于等于指定值得最大整数

      pi() 3.1415926.........

      power(numeric_expr,power) 返回power次方

      rand([int_expr]) 随机数产生器

      round(numeric_expr,int_expr) 安int_expr规定的精度四舍五入

      sign(int_expr) 根据正数,0,负数,,返回+1,0,-1

      sqrt(float_expr) 平方根


    3.日期函数

      getdate() 返回日期

      datename(datepart,date_expr) 返回名称如 June

      datepart(datepart,date_expr) 取日期一部份

      datediff(datepart,date_expr1.dateexpr2) 日期差

      dateadd(datepart,number,date_expr) 返回日期加上 number

        上述函数中datepart的

        写法  取值    意义

        yy    1753-9999   年份

        qq    1-4      刻

        mm    1-12      月

        dy    1-366    日

        dd    1-31      日

        wk    1-54    周

        dw    1-7     周几

        hh   0-23    小时

        mi   0-59    分钟

        ss   0-59    秒

        ms   0-999    毫秒


      convert()  日期转换

    4.系统函数

      suser_name() 用户登录名

      user_name() 用户在数据库中的名字

      user 用户在数据库中的名字

      show_role() 对当前用户起作用的规则


      db_name() 数据库名

      object_name(obj_id) 数据库对象名

      col_name(obj_id,col_id) 列名

      col_length(objname,colname) 列长度

      valid_name(char_expr) 是否是有效标识符

     eg:

    update kh_person set money=convert(float,(complete_value-
     (substring
    (Assess_RESULT,
    (patindex('%著作&%',Assess_RESULT)+3),
    (patindex('%~获奖%',Assess_RESULT)-patindex('%著作&%',Assess_RESULT))-3))))*30+
    convert(float,(substring
    (Assess_RESULT,
    (patindex('%著作&%',Assess_RESULT)+3),
    (patindex('%~获奖%',Assess_RESULT)-patindex('%著作&%',Assess_RESULT))-3)))*15
    where (patindex('%~获奖%',Assess_RESULT)-patindex('%著作&%',Assess_RESULT))>3;

  • 相关阅读:
    NHibernate中session.update()及session.merge()的区别
    子序列 (All in All,UVa 10340)
    古老的密码 (Ancient Cipher,NEERC 2004,LA 3213)
    例题1 勇者斗恶龙 (The Dragon of Loowater,UVa 11292)
    HDU1869 六度分离
    B. T-primes
    PoJ 1595 PrimeCuts
    poj 3518 Prime Gap
    PKU1988磁铁
    求组合数
  • 原文地址:https://www.cnblogs.com/zhaoyhBlog/p/6184287.html
Copyright © 2011-2022 走看看