zoukankan      html  css  js  c++  java
  • 11-02SQLserver基础--字符串函数

    数据库の函数

    一、内置函数--字符串函数

     1、--ASCII 返回字符串的首字母的ASCII编码

     select ASCII('ame')

     select ASCII(xingming)from xuesheng--查询语句中的格式

     select*from haha where ASCII(name)>200--查询表中ASCII码大于

     2、--CHAE ASCII码转换成对应的字符

     select CHAR(13)--ASCII码中代表回车键,显示空格

     select CHAR(202)--不同于,代表没有

     select CHAR(age)from haha--在查询语句的格式

     3、--CHARINDEX 查找字符串,返回符合条件的首字母的索引,索引从1开始,返回0表示没查询到

     select CHARINDEX('efg','abcdefghijklmnopqrstuvwxyz')--返回字符串首字母的索引

     select CHARINDEX('199',cid) from haha--索引从1开始,返回表示没查询到

     4、--CONCAT字符串拼接2012版本才可以用

     5、--select CONCAT('abc'+'bcd')select('abc'+'bcd'+'efg')

     6、--DIFFERENCE 比对,返回相似度(,,,,)各占%,相似度高%返回,相似度低%返回

     select DIFFERENCE('abcefgr','ab')

    7、 --FORMAT 将字符串格式化2012

     8、--LEFT 从左往右截取字符串指定长度,返回Int值,相当与substring截取功能

     select LEFT('abcdefgh',4)

     select LEFT(cid,14)from haha--列名相当于变量名,语句相当于for循环,一句一句执行,

     9、--LEN 返回截取字符串长度,前面空格保留,后面的空格自动舍去,相当于lengths

     select LEN('  1234    ')

     10、--LOWER 将大写字母转换为小写

     select LOWER('aBCDEFG')

     11、--LTRIM 去除左边的空格,也就是字符串前面的空格,相当于trimstart

     select LTRIM(' B  ABCDNE    ')

     12、--PATINDEX 查找字符串和数字,索引从开始,查询字符串第一次出现的起始位置(要查找的字符串前后加%

     select PATINDEX('%j%','abcdefghijklmn')

     select PATINDEX('%67%','12345656787')

     13、--REPLACE 替换需要三个参数(目标字符串,要替换的目标字符段,替换后的内容)

     select REPLACE(cid,'606','103') from haha

    以上这些函数只是在显示时改成我们想要看到的结果,但不对原数据造成任何影响。

      select REPLICATE('ABC',3)

      14、--REVERSE 翻转字符串

      select REVERSE('abcdefghijklmn')

      select REVERSE(name)from haha

      15、--RIGHT 从右往左按指定个数返回字符串

      select RIGHT('  abschge',3)

     16、 --1RTRIM 去除右边的空格

      select RTRIM('  abndc asn sd   ')

     17、 --SPACE  打印空格,括号里面写几就打印几个空格

      select 'a'+SPACE(10)+'B'

      18、--STR 将一个小数转换为字符串,第一个参数是字符串的原数据,第二个参数是保留字符串的长度(包含小数点),第三个参数是截取小数点后几位

      select STR(2131.23123,7,3)

      19、--STUFF 在字符串中插入指定字符串(删除指定索引位置开始的指定长度字符,之后在指定索引处插入指定字符)

      --第一个参数是原始字符串,第二个参数是索引开始的位置,第三个参数是指定删除的长度

      --第四个参数是指定输入的字符串

      select STUFF('ABC1234',4,0,'HELLOWORLD')

      20、--1SUBSTRING 内有从指定索引处截取指定长度的字符串

      select SUBSTRING(cid,7,8)from haha

      21、--1UPPER 字符串全部大写

      select UPPER('abnsdkf')

    重点记忆:upper全部大写、lower全部小写、substring截取字符串、len截取字符串的长度、rtrim从右往左去空格,ltrim从左往右去空格,charindex查找字符串,返回符合条件的字符串的索引

    二、时间日期函数

     1、select @@DATEFIRST--2个@开头的是系统常量,返回的是今天周几
     2、--1DATEADD 给指定日期加入一个时间段,第一个参数是表示加入数据的类型,第二个参数是加入的数据,第三个参数是指定日期时间
      select DATEADD( year,2 ,'2006-7-31')
     3、 --1求时间差,可以指定类型;第一个参数是指定日期类型,第二、三个参数是指定日期时间
      select DATEDIFF(YEAR,'2011-7-31','2014-11-2')
     4、 --DATENAME(返回的是字符串)返回某个时间值里面,想得到的某块类型的数,比如年月日 可以单独获取年或者月或者日
      select DATENAME(weekday,'2014-11-2')
      5、--1DATEPART(返回的值是int类型)从周天开始计算是第一天
      select DATEPART(WEEKDAY,'2014-11-25')
      select DATEPART(WEEK,'2014-5-15')
      6、--DAY 返回该日期的时间是当月的某一天,返回int值
      select DAY('2014-11-25')
      7、--1GETDATE 获取当前数据库所在服务器的日期时间
      select GETDATE() as 普通
      8、--ISDATE  判断输入的使其时间是否正确,正确返回1,错误返回0;
      select ISDATE('2013-2-29')
     9、 --取时间值的月份
      select MONTH('2014-2-15')
      10、-- 获取系统时间
      select SYSDATETIME()
     11、 --获取年份
      select YEAR('2014-7-11')
    三、------类型转换,转换函数------
     --三种转换方式 pause convert cast
     1、CAST

      select CAST(123 as varchar(20))
      select CAST(123 as int)
      select CAST(123 as decimal(18,2))
      select CAST('12.3')AS decimal(18,2)
      2、--convert 前面写类型,后面写目标数据
      select CONVERT(int,'12.3')
      3、--pause  2012版
      select pause()
      练习题:截取学生的身份证信息中的年月日
      select*from xuesheng
      alter table xuesheng add ID varchar(20)
      update xuesheng set ID ='370305199202152341'
      方法1:select xingming,STUFF(SUBSTRING(ID,7,6),5,0,'年')+'月'+SUBSTRING(ID,13,2)+'日'from xuesheng
      方法2:select xingming, SUBSTRING(ID,7,4)+'年'+SUBSTRING(ID,11,2)+'月'+SUBSTRING(ID,13,2)+'日'as '生日'from xuesheng


      alter table xuesheng add ID1 varchar(20)
       update xuesheng set ID1 ='1993年02月15日'

  • 相关阅读:
    [转]IUnkown生命周期管理
    [转] com 基本数据类型
    Centos 7 修改开机等待时间 Alex
    乌班图的安装常用命令 Alex
    Ubuntu切换root用户 Alex
    乌班图开启关闭防火墙 Alex
    Ubuntu远程root用户登录 Alex
    Centos 8 更改为阿里云源 Alex
    LVS调度之搭建NAT模型实现 Alex
    解决挂载mount: wrong fs type, bad option, bad superblock on Alex
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4068891.html
Copyright © 2011-2022 走看看