• TSQL基础(三)


    字符处理函数

    sql中常见的字符类型有:

    char(n) --长度固定 不可变 非Unicode 字符数据 n 必须是一个介于 1 和 8,000 之间的数值

    nchar(n) --长度固定 不可变 Unicode 字符数据 n 的值必须介于 1 与 4,000 之间,字节的存储大小是所输入字符个数的两倍。

    varchar(n) --长度可变 非Unicode 字符数据 n 必须是一个介于 1 和 8,000 之间的数值

    nvarchar(n) -- 长度可变 Unicode 字符数据 n 的值必须介于 1 与 4,000 之间,字节的存储大小是所输入字符个数的两倍。

    substring(expression,start,length) 从start开始截取length长度的字符串,下标从1开始

    select  substring(Sname,0,1) as '从0开始取1个字符',substring(Sname,1,1) '从1开始取1个字符',* from Student

    left(expression,length)从左边开始截取length个长度的字符串,  right(expression,length)从右边开始截取length个长度的字符串

    select  left(Sname,1) '从左边开始取1个字符',right(Sname,1) as '从右边开始取1个字符',* from Student

     

    len(string)返回字符串长度,长度不包含尾部空格,  datalength(string)返回字符串长度,长度包含尾部空格

     print len(' 1234 5678   ')
     print datalength(' 1234 5678   ')

     

     charindex(string,expression)获取和string相同字符串的位置

    print charindex('4',' 1234 5678   ')

     

     replace(expression,stirng_pattern,string_replacement) 查找的子字符串stirng_pattern,替换成字符串string_replacement

     print replace(' 1234 5678   ','4','')

     

    stuff(expression,start,length,stirng)将从start开始,往后的length个长度的子字符串替换成string 

     print replace(' 1234 5678   ','4','')
     print stuff(' 1234 5678   ',charindex('4',' 1234 5678   '),1,'')

     

    upper(expression)转换为大写,lower(expression)转换为小写,rtrim(expression)去除右边空格,ltrim(expression)去除右边空格

      print upper(' abCDEf  ')
      print lower(' abCDEf  ')
      print ltrim(' abCDEf  ')
      print rtrim(' abCDEf  ')

     

    特殊的where条件

    between...and... (包含上下限)

    select * from Student
    
    select * from Student
    where S# between  1 and 3
    
    select * from Student
    where Sage between  '1989-01-01' and '1990-05-20'

     

    in

    select * from Student
    
    select * from Student where  S# in(01,02) or Sname in('王菊','郑竹')

     

    like("%“代表任意一个或多个字符, "_"代表任意一个字符)

    select * from Student
    
    select * from Student where  Sname like '%云' or Sname like '赵_'

     

    case...when...

     select case year(Sage) 
                when '1989' then '89年'
                when '1990' then '90年' 
                when '1991' then '91年'
                else '不计算'
            end  as '年份',* from Student
            
                    
     select case 
                when  year(Sage)='1989' then '89年'
                when  year(Sage)='1990' then '90年' 
                when  year(Sage)='1991' then '91年'
                else '不计算'
            end  as '年份',* from Student

     

  • 相关阅读:
    【转】JMeter学习(二十七)Jmeter常见问题
    【转】JMeter学习(二十三)关联
    【转】 JMeter学习(二十四)linux启动jmeter,执行./jmeter.sh报错解决方法
    【转】 JMeter学习(十九)JMeter测试MongoDB
    【转】 JMeter学习(二十)JMeter处理Cookie与Session
    【转】JMeter学习(十七)JMeter测试Java
    【转】JMeter学习(十八)JMeter测试Java(二)
    【转】 JMeter学习(十六)JMeter函数学习
    【转】JMeter学习(十四)JMeter监控Tomcat性能
    【转】JMeter学习(十三)分布式部署
  • 原文地址:https://www.cnblogs.com/yangjingqi/p/4133156.html
Copyright © 2020-2023  润新知