zoukankan      html  css  js  c++  java
  • 20101102--SQL字符串函数 ,日期和时间函数

    --------------------字符串函数-------------------------
    --ASCII  返回字符串的首字母的ASCII编码 
    select ASCII('w')
    select ASCII('a')
    select ASCII('s')
    select ASCII('d')
    select ASCII(name) from xueshengxinxi
    select *from xueshengxinxi where ASCII(name)>200--查询name中ASCII码大于200的
    --CHAR  将ASCII代码转换成对应字符  CHAR
    select CHAR (101)
    select CHAR(age) from xueshengxinxi
    --INDEX
    --CHARINDEX 查找字符串,返回符合条件的字符串首字母的索引,索引从1开始,返回0是没有找到
    select CHARINDEX('%','qwe#r1%4tyyuiopasdfghjklzxcvbnm')
    select CHARINDEX('2',test2) from xueshengxinxi
    --PATINDEX 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
    -- 通配符   含义 
    --   %     包含零个或多个字符的任意字符串。
    --   _     任何单个字符。
    --  [ ]    指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
    --  [^]    不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。
    select PATINDEX ('%%%','846!@#q78dwq6%478')
    --字符串拼接 +号
    select 'abc'+'def'+'gh'
    --DIFFERENCE  返回相似度,
    select DIFFERENCE('abcde','2')
    --LEFT 返回字符串中从左边开始指定个数的字符。 LEFT
    select LEFT('abcde',3)--后面数字是几就截取几个
    select LEFT(test2,2) from xueshengxinxi
    --RIGHT 返回字符串中从右边开始指定个数的字符。
    
    --LEN 返回指定字符串表达式的字符数,其中不包含尾随空格。
    select LEN(' 1234  ')
    --LOWER 转化为小写
    select LOWER('ASDFG')
    --UPPER 转化大写
    
    --LTRIM 去除字符串中的左边的空格,.net的trimstart
    select LTRIM('    1  ')
    --RTRIM 去除字符串中的右边的空格,
    
    --REPLACE  替换,第一个参数是目标位置,第二个参数是要替换的字符段,第三个是要替换成的字符串。仅显示结果,这不会影响数据库的数据,
    select REPLACE(test,'8','二分') from xueshengxinxi
    --REPLICATE  复制,可以复制0-n次,相当于先剪切再复制
    select REPLICATE('qwe',3)
    --REVERSE  翻转
    select REVERSE(name) from xueshengxinxi
    --SOUNDEX 返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性
    SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')
    --SPACE 空格 参数是几输入几个空格
    select 'a'+SPACE(10)+'b'
    --STR 返回由数字数据转换来的字符数据。参数1是原数值,参数2是字符串长度(包括小数点),参数3是截取到小数点后几位
    select STR(213.450,5,2)
    --STUFF 将字符串插入另一字符串。参数1原字符串,参数2指定删除和插入的开始位置,参数3指定要删除的字符数,参数4指定要插入的字符串
    select STUFF('abc123gh',4,3,'def')
    --SUBSTRING 从指定索引处截取指定长度的字符串。参数1原始字符串,参数2指定索引,参数2截取的字符串长度
    select SUBSTRING(name,2,1) from xueshengxinxi
     1 -------------------日期和时间函数-------------------
     2 --DATEADD 给指定日期加上一个时间段
     3 select DATEADD(YEAR,2,'2008-10-1')--参数1时间类,参数2时间间隔,参数3指定的时间
     4 --DATEDIFF  求时间差,可以指定类型的
     5 select DATEDIFF(DAY,'2010-1-10','2010-5-1')--参数1指定类型,参数2第一个指定的时间,参数3第二个指定的时间
     6 --DATENAME  返回指定的时间类型的的数,返回的是字符型,可单独获取年月日时分秒
     7 select DATENAME(MONTH,'2013-6-20')
     8 --DATEPART 返回指定的时间类型的数,返回的是int型,可单独获取年月日时分秒
     9 select DATEPART(HOUR,'2013-6-20 12:10:50')
    10 --DAY 返回日期中的时间是当月的那一天
    11 select DAY('2012-4-19')
    12 --MONTH 返回日期中的时间是当年的那一月
    13 select MONTH('2011-9-15')
    14 --YEAR 获取年份
    15 select YEAR('2000-9-15')
    16 --GETDATE 获取当前时间
    17 select GETDATE()
    18 --STSDATETIME 获取系统时间,
    19 select SYSDATETIME()
    20 --ISDATE 确定输入表达式是否为有效的日期或时间值。正确返回1,错误返回0
    21 select ISDATE('2012-2-29')
     1 ------------------类型转换,转换函数-------------------
     2 --CAST    CONVERT 表达式不同
     3 --CAST
     4 select CAST(123 as varchar(10))
     5 select CAST(1.23 as int)
     6 select CAST(123 as decimal(10,2))
     7 select CAST('12.3' as decimal(10,2))
     8 --CONVERT
     9 select CONVERT(int,'123')
    10 select CONVERT(decimal(10,3),'12.3')
    11 --查询学生的名字和身份证上的出生日期
    12 alter table xueshengxinxi add [card] varchar(20)
    13 update xueshengxinxi set [card]='370305199211212511' where [No.] between 1 and 7
    14 update xueshengxinxi set [card]='370305198907112511' where [No.] between 8 and 15
    15 update xueshengxinxi set [card]='370305199001072511' where [No.] between 16 and 20
    16 select *from xueshengxinxi
    17 select name,(SUBSTRING([card],7,4)+''+substring([card],11,2)+''+substring([card],13,2)+'')出生日期 from xueshengxinxi  
  • 相关阅读:
    SSM中 web.xml配置文件
    实现网站的登陆,注册,查看商品详细信息,加入购物车,注销登陆等简单功能。
    操作步骤
    mysql 查询 练习题及答案
    水仙花数!
    Spark SQL(4)-Unresolved Plan到Analyzed Plan
    Spark SQL(3) Parser到Unresolved LogicPlan
    Spark SQL(2)-InternalRow和TreeNode
    Spark SQL(1)-简述
    logstash output到kafka记录与总结( No entry found for connection 2)
  • 原文地址:https://www.cnblogs.com/Tirisfal/p/4068890.html
Copyright © 2011-2022 走看看