• SQL数据库中模糊查询、排序、聚合函数、数学函数、字符串函数、时间日期函数、转换、函数转换等


    create database lianxi  --创建数据库
    go
    use lianxi --引用数据库
    go
    create table xs  --插入表格
    (
      code int not null,  --写入内容
      name varchar(10),
      cid varchar(18),
      banji varchar(10),
      yufen decimal(18,2),
      shufen decimal(18,2),
      yingfen decimal(18,2),
    )
    go
    insert into xs values(1,'张三','370322199101011234','一班',80,70,60,'男')  --写入内容
    insert into xs values(1,'李四','370322199102011234','一班',81,71,61,'女')
    insert into xs values(1,'王五','370322199103011234','一班',82,72,62,'男')
    insert into xs values(1,'赵六','370322199104011234','一班',83,73,63,'女')
    insert into xs values(1,'张三三','370322199105011234','二班',70,60,50,'男')
    insert into xs values(1,'李四四','370322199106011234','二班',71,61,51,'女')
    insert into xs values(1,'王五五','370322199107011234','二班',72,62,52,'男')
    insert into xs values(1,'赵六六','370322199108011234','二班',73,63,53,'女')
    insert into xs values(1,'张三张','370322199109011234','三班',60,50,40,'男')
    insert into xs values(1,'李四李','370322199110011234','三班',61,51,41,'女')
    insert into xs values(1,'王五王','370322199111011234','三班',62,52,42,'男')
    insert into xs values(1,'赵六赵','370322199112011234','三班',63,53,43,'女')
    go
    select *from xs
    alter table xs add [xingbie]char(10) --添加列
    go
    select *from xs
    alter table xs drop column [xingbie] --删除列
    select *from xs


    --模糊查询 like
    select *from xs where name like'%李%'
    select *from xs where name like'王_'
    select *from xs where name like'_[张三,李四,王五]'
    --排序 order by
    select *from xs order by yufen asc
    select *from xs order by yufen desc
    select top 2*from xs where name like'%王%' order by yingfen desc


    --聚合函数
    --平均值
    select AVG(yufen) from xs where banji='一班'
    --求个数
    select COUNT(*)from xs where banji='三班'
    --最大值
    select MAX(yufen)from xs
    --最小值
    select MIN(yufen)from xs
    --求和
    select SUM(yufen) from xs where banji='二班'


    --分组 group by
    select banji from xs group by banji
    select banji,count(*)from xs where yufen>60 group by banji order by COUNT(*) desc
    --having 只能跟在group by 后边
    select banji,count(*)from xs where yufen>60 group by banji having COUNT(*)>2

    --数学函数
    --绝对值
    select ABS(-8)

    --取上线 、下线
    select CEILING(3.14)
    select FLOOR(3.14)

    --几次方
    select POWER(2,3)

    --平方
    select SQUARE(4)

    --平方根
    select SQRT(4)

    --四舍五入,逗号之后代表小数点后有几位
    select ROUND(25.52,1)


    --字符串函数

    --字符串转换为编码
    select ASCII('a')
    --只转换开头
    select ASCII('abc')
    --编码转化为字符串
    select CHAR(97)

    --查看第一次出现的索引号 返回值为0,表示没有找到
    select CHARINDEX('cd','abcdefg')

    --字符串的拼接
    select 'a'+'b'+'c'

    --从前面截取多少个长度 后面截取多少个长度
    select LEFT('abcdef',2)
    select RIGHT('abcdef',2)

    --计算字符串的长度 前面的长度计算,后面的长度不算
    select LEN(' abc')

    --转换为大写 转换为小写
    select UPPER('abc')
    select LOWER('ABC')

    --去掉前边的空格 去掉后边的空格
    select LTRIM(' a')
    select RTRIM(' a ')

    --返回首次出现字符的索引
    select PATINDEX('%abc%','abcdefg')

    --替换 第一个位置填写要替换的内容的位置,第二个位置填写要更换的内容,第三个位置填写更换后的内容
    select REPLACE(name,'张三','三张')from xs

    --复制 需要复制的内容,复制的次数
    select REPLICATE('ABC',2)

    --翻转字符串
    select REVERSE('abc')

    --打印空格
    select 'a'+space(5)+'b'

    --STR 将小数转化为字符串
    --参数一是原字符处,参数二是字符串的长度,参数三是j截取的小数点后的长度,小数点占有一个长度
    select STR(2222.22,5,1)

    --STUFF 插入字符串
    --参数一是原字符串,参数二是索引从第几位开始,参数三是向后删除几位,参数四是插入的字符串
    select STUFF('123abc',4,3,'hello')

    --SUBSTRING 从指定的字符串中截取指定的长度
    --参数一是原字符串,参数二是截取字符串开始的索引,参数三是截取的长度
    select SUBSTRING('abcdefg',3,1)

    --时间日期函数
    --系统常量,直接返回一个值
    select @@DATEFIRST

    --DATEADD 参数一是增加的项,参数二是增加的量,参数三是增加的基准
    select DATEADD(YEAR,8,'2016-8-8')
    select DATEADD(MONTH,8,'2016-8-8')
    select DATEADD(DAY,8,'2016-8-28')

    --DATEDIFF 计算两个日期的时间间隔
    select DATEDIFF(YEAR,'2008-8-8','2016-8-31')
    select DATEDIFF(MONTH,'2008-8-8','2016-8-31')
    select DATEDIFF(DAY,'2008-8-8','2016-8-31')

    --DATENAME 返回指定的的时间类型
    select DATENAME(DAY,'2008-8-8')
    select DATENAME(WEEK,'2016-2-1') --今年的第几周
    select DATENAME(WEEKDAY,'2016-8-31')

    --DATEPART 等同于DATENAME,区别是datename返回的是字符串,datepart返回的是int类型
    select DATEPART(WEEKDAY,'2016-8-31') --1是星期天,7是星期六

    --返回一个整数,返回该日期的年、月、日
    select year('2016-8-31')
    select month('2016-8-31')
    select day('2016-8-31')

    --获取本地时间
    select GETDATE() --不需要参数
    --获取系统的精确时间
    select SYSDATETIME()

    --判断时间日期格式是否正确
    select ISDATE('2008-8-31') --正确返回1,错误返回0

    --数据、函数转换转换
    --cast (as前边写原数据类型,as后边写转化后的数据类型)
    select CAST(123 as varchar(20))
    --convent(前边写转化后的数据类型,后边写转化前的数据)
    select CONVERT(int,'123') 

  • 相关阅读:
    Project 01 PlantAndZomb
    iOS平台内存使用原则
    IOS之UIKit_Day22--23
    IOS之UIKit_Day21
    IOS之UIKit_Day20
    浅谈javascript数据类型,对象,类
    从输入一个url到加载页面发生了什么?
    d3.js(2)-svg
    d3.js(1)
    console.time和performance.now()
  • 原文地址:https://www.cnblogs.com/hcx999/p/5828476.html
Copyright © 2020-2023  润新知