zoukankan      html  css  js  c++  java
  • SQL字符串处理函数 Yang

    一直比较抗拒写存储过程,但工作中又要使用。所以,没办法,还是得慢慢写。

    看到SQL2005中列出了一些字符串处理函数,大多都比较简单,一看就知道是什么意思,怎么用。但还是有些比较少用,所以,测试了一下,在这里面记录一下以供以后查看。

    --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    --ASCII:将字母转换成数字 
    --97 
    SELECT ASCII('a') 
    --214 
    SELECT ASCII('') 
    --UNICODE:将汉字或字母转换成unicode编码,一次只能转换一个 
    --97 
    SELECT UNICODE('a') 
    --20013 
    SELECT UNICODE('')
    
    
    --CHAR:将数字转换成字母 
    --A 
    SELECT CHAR(65) 
    --Nchar:数字转换成字符,占两个字节? 
    --A 
    SELECT NCHAR(65)
    
    
    --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    --CHARINDEX:查询e在course中第一次出现的位置,course中从1开始计算的 
    --6 
    SELECT CHARINDEX('e','courseabcdsdfe',1) 
    --PATINDEX:查找指定字符串在另一个字符串中出现的位置,从1开始计数,可以用通配符 
    --10 
    SELECT PATINDEX('%abc%','123456789abccbaxxxx')
    
    --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    
    --DIFFERENCE:比较两个字符串是否相同,返回值:0~4完全不同~基本相同或完全相同 
    --0 
    SELECT DIFFERENCE('abcd','1243') 
    --1 
    SELECT DIFFERENCE('abcd','eeeee') 
    --2 
    SELECT DIFFERENCE('abcd','aeeee') 
    --3 
    SELECT DIFFERENCE('abcd','abee') 
    --4 
    SELECT DIFFERENCE('abcd','abcd') 
    --4 
    SELECT DIFFERENCE('abcd','abcd123')
    
    
    --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    --LEFT:从左边取3位 
    --abc 
    SELECT LEFT('abcdefg',3) 
    --RIGHT:从右边取3位 
    --efg 
    SELECT RIGHT('abcdefg',3) 
    --+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    --LOWER:大写变小写 
    --abcdefg 
    SELECT LOWER('ABCDEFG') 
    --UPPER:小写变大小 
    --ABCDEFG 
    SELECT UPPER('abcdefg')
    
    
    --+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    --LTRIM:去掉左边的空格 
    --ABC 
    SELECT LTRIM('    ABC') 
    --RTRIM:去掉右边的空格 
    --ABC 
    SELECT RTRIM('ABC            ') 
    --+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    --QUOTENAME:为一个字符串加[](默认)或加'' 
    --abcafwesdfs 
    SELECT QUOTENAME('abcafwesdfs') 
    --'abcafwesdfs' 
    SELECT QUOTENAME('abcafwesdfs','''')
    
    --REPLACE:将一个字符串中的指定字符替换为另外的字符 
    --abcABCdfasdfds 
    SELECT REPLACE('abc123dfasdfds','123','ABC')
    
    --REPLICATE:将前面的字符串重复几遍 
    --abcabc 
    SELECT REPLICATE('abc',2)
    
    --REVERSE:字符反转 
    --gfedcba 
    SELECT REVERSE('abcdefg')
    
    SELECT SOUNDEX ('');
    
    --SPACE:空N个空格 
    --返回:yang     change 
    SELECT 'yang'+SPACE(5)+'change'
    
    --STR:浮点数,一共取多少位,小数位多少位 
    --返回类型char:34563.2,四舍五入 
    SELECT STR(34563.151592653,7,2)
    
    --返回varchar,nvarchar,varbinary 
    SELECT STUFF('01234AAdsfsad',6,2,'_')
    
    --STUFF:从第N个字符开始的K个字符,替换成另外的字符J 
    --返回varchar,nvarchar,varbinary 
    SELECT STUFF('中华人民共和国AA中华人民共和国',8,2,'_')
    
    --SUBSTRING:从第几个字符,截取几个字符 
    SELECT SUBSTRING('ABCD123EFG',5,3)
    
    --LEN:测量字符串长度 
    --7 
    SELECT LEN('abcdefg')
  • 相关阅读:
    关于两次指针(struct型)传参数的问题
    git学习基础教程
    程序员恶性循环- 有感
    基于Tomcat 的WEB Project存在的安全漏洞总结
    使用Maven自动部署Java Web项目到Tomcat问题小记
    MyEclipse中Maven的配置
    mybatis处理集合、循环、数组和in查询等语句的使用
    JBOSS的启动和停止
    myeclipse越来越卡了怎么回事啊?
    linux shell 模拟post请求
  • 原文地址:https://www.cnblogs.com/Yang2012/p/SQL.html
Copyright © 2011-2022 走看看