zoukankan      html  css  js  c++  java
  • SQL系统函数

    1.with...as...

    说明:把一大堆重复用到的SQL语句放在with as里面,取一个别名,后面查询就可以直接用它,这样对于大批量的SQL数据起到一个优化的作用,而且清楚明了。

    eg:

    with a as (select * from test)
    select * from a

    2.case when then

     说明:case具有两种格式,简单case函数和case搜索函数

    a.简单case函数

    eg:

    case sex
    when '1' then ''
    when '2' then ''
    else '其他' 
    end

    b.case搜索函数

    eg:

    case when sex='1' then ''
         when sex='2' then ''
    else '其他' 
    end

    3.stuff

    说明:删除指定长度的字符,并在指定的起点处插入另一组字符

    语法格式:stuff(expression,start,length,expression)

    eg:

    //在第一个字符串abcdef中删除从第2个位置(字符b)开始的3个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。
    select
    stuff('abcdef',2,3,'ijklmn')
    结果集:aijklmnef

     4.replace

    说明:用第三个表达式替换第一个字符表达式中出现的所有第二个指定字符串表达式的匹配项

    语法格式: replace('string_expression1','string_expression2','string_expression3')

    eg:

    //使用xxx替换abcdefghicde中的cde
    select
    replace('abcdefghicde','cde','xxx')
    结果集: abxxxfghixxx

    5.space

    说明:生成任意多个空格组成的字符串

    语法格式:space('integer_expression')  //integer_expression:指示空格个数的正整数

    eg:

    select ('hello' + space(5) + 'world')
    结果集:hello world

    6.replicate

    说明:可以按照指定的整数次数,重复生成一个字符串形式的表达式,结果为字符串

    语法格式:replicate('字符串','次数')

    eg:

    select replicate('hello',5)
    结果集:hellohellohellohellohello

    7.substring

    说明:对字符串进行字串的截取操作

    语法格式:substring('表达式','开始的位置','长度')

    eg:

    select substring('hello',1,2)//第一个字符从1开始
    结果集:he

    8.len

    说明:用于获取字符串的长度(字符数),但不包括右边的空格,包括左边的空格

    语法格式:len('字符串')

    eg:

    select len('天下之大,无奇不有')
    结果集:9

     9.charIndex

    说明:用于在指定的字符串中搜索特定的字符串,并可以指定开始搜索的位置,返回第一次找到目标字符串的字符数

    语法格式:charindex('要查找的字符序列1','指定序列搜索的列2[ ,'开始在2中搜1的字符位置']')

    eg:

    select charindex('456','123456789')
    select charindex('456','123456789',4)
    结果集:都是4

    10.left和right

    说明:截取从左/右边第一个自负开始,指定长度的字符串

    语法格式:left/right('要截取的字符串','长度')

    eg:

    select left('123456789',3)
    select right('123456789',3)
    结果集:123
    789

    11.ltrim和rtrim

    说明:清除左/右边空格

    语法格式:ltrim/rtrim('字符串')

    eg:

    select ltrim('   123456789')
    select rtrim('123456789   ')
    结果集:123456789

    12.lower和upper

    说明:将字符串全部转换成小写/大写后返回

    语法格式:lower/upper('字符串')

    eg:

    select lower('ABC')
    select upper('abc')
    结果集:abc
    ABC

    13.reverse

    说明:将字符串内容反序后返回

    语法格式:reverse('字符串')

    eg:

    select reverse('123456789')
    结果集:987654321
  • 相关阅读:
    CesiumLab V1.1 新功能 (免费Cesium处理工具集)
    cesium 加载shp格式的白模建筑
    Cesium项目实战(3)-城市建筑三维白膜数据的制作与效果展示
    Tomcat内存优化
    ActiveMQ笔记(5):JMX监控
    mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境
    大众点评cat系统的搭建笔记
    ActiveMQ笔记(4):搭建Broker集群(cluster)
    ActiveMQ笔记(3):基于Networks of Brokers的HA方案
    ActiveMQ笔记(2):基于ZooKeeper的HA方案
  • 原文地址:https://www.cnblogs.com/hlna/p/4959297.html
Copyright © 2011-2022 走看看