SQL sever 学习,2016,5,31,(重点:100行以后,字符串操作。)

--别名和表达式
select OrderDate,YEAR(OrderDate)as 订单年份
from orders;

--选择
select OrderDate,YEAR(OrderDate)as 订单年份
from orders
where year(OrderDate)=2006;

--在分组的情况下,select字句会有限制,只能查询整个组的统计情况
select YEAR(OrderDate),count(*),SUM(OrderDate)
from orders
group by OrderDate;

select count(*),SUM(OrderDate)
from orders;
--NULL 空,与NULL运算的结果还是NULL
--必须使用特殊的方式来使用NULL
select OrderDate
from orders
where not OrderDate is null;
--组函数会忽略null

--having 筛选统计后的数据
select ... COUNT(*)
from orders
group by ...
having COUNT(*) > 2;

--order by 排序
select OrderDate,YEAR(OrderDate)as 订单年份
from orders
order by OrderDate desc;
--top 查询前几条
select top(2)--查询前2条

--SQL
select CityName as 城市
from city

select *
from distributors

select top(3) *
from items

-- select SQL语句本身不区分大小写

--百分比
select top(20) percent *
from distributors

--with ties 表示额外附加于最后一条记录相等的记录
select top(5)with ties BossName
from distributors
order by BossName

--over子句 称为开窗函数
select BossName
from distributors;

select count(*)
from distributors ;

--over
select BossName ,count(*) over()as 人总数
from distributors

select Item, OrderNum ,TotalPrice
,sum(TotalPrice ) over() as 总价
,sum(TotalPrice) over(partition by Item)--partition by 相当于做一个相等的选择,选出等于的值
from items

--排名
--row_number行号
--rank 排名,表示前面有多少
--dense_rank密集排名
--ntile 分组
select row_number() over(order by CityCode)as 行号
,rank() over(order by CityCode)as 排名
,dense_rank() over(order by CityCode)as 密集排名
,ntile(3) over(order by CityCode)as 分组
,BossName,CityCode
from distributors

--排名结合部分
select
ROW_NUMBER() over(order by CityCode),
ROW_NUMBER() over(partition by CityCode order by CityCode),--组里边再排名
CityCode ,BossName
from distributors

select *
from distributors

--where 条件
select *
from distributors
where DistriNum >=1004 and DistriNum <=1010

--between and,包含边界,注意上界和和下界
select *
from distributors
where DistriNum between 1004 and 1010

--in
select *
from distributors
where DistriNum =1004 or DistriNum =1009 or DistriNum =1010

select *
from distributors
where DistriNum in (1004,1009,1010)

--like必须掌握,字符串匹配, % 任意多个字符, _ 任意一个字符。
select *
from distributors
where BossName like ‘王%‘

select *
from distributors
where BossName like ‘_为%‘

select *
from distributors
where BossName like ‘%真%真%‘

--case 简单表达式,比较是否相等
select BossName ,CityCode ,
case CityCode
when ‘CY‘ then ‘谁外‘
else ‘其他‘
end
from distributors

--case 搜索表达式
select BossName ,CityCode ,
case
when CityCode in(‘CY‘,‘PG‘) then ‘wwww‘
when CityCode is null then ‘未知‘
when BossName =‘王为‘ then ‘就是他‘
else ‘去其他区‘
end
as hhe
from distributors

--*************************************************************
--SQL字符数据类型
--char 类型 一个长度的字符串
--char(8) 8个长度的字符串 固定长度的字符串
--varchar(8) 可变长度字符串 最长占8个 多余的自动退回
--nchar 国际化编码,unicode,字符长度,每个字符占2个字节,固定长度
--nvarchar(8) 可变长度的国际化字符串************************
--nvarchar(4000) 4000最大值,8000字节
--nvarchar(max) varchar(max) 特别长度
--**************************************************************

--定义变量
declare @s varchar(10);
set @s =‘hello‘;
print @s;
set @[email protected]+‘world‘;
print @s;

--isnull函数
declare @s varchar(10);
print @s;
set @s= isnull(@s,‘ ‘) + ‘world‘;
print @s;

--注意:在SQL中 下标是从1开始的
--substring(BossName,3,4)截取字符串
--left 表示截取左边 left(BOssName,4)
--right表示截取右边 right(BossName,4)

declare @s varchar(10);
set @s =‘hello‘;
print @s;
set @[email protected]+‘world‘;
print @s;
print len(@s); -- 实际长度
print datalength(@s);-- 索取的长度

--模板在前,源字符串在后,,**出现在字符串中的位置,从高1开始
declare @s varchar(10);
set @s=‘helloworld‘;
print @s;
select @s ,charindex(‘w‘,@s)--找到位置
select @s,substring(@s,charindex(‘w‘,@s)+1,10)

--replace替换
declare @s varchar(20)
set @s=‘hello world‘;
print @s;
select @s,replace(@s,‘hello‘,‘你好啊‘)

--stuff 替换
declare @s varchar(20)
set @s=‘hello world‘
print @s
select @s,stuff(@s,charindex(‘ ‘,@s),1,‘:‘)

--upper变大写,lower变小写

--rtrim() 去掉右边,lteim()去掉左边
--ltrim(rtrim()) 去掉左右边的所有字符
declare @s varchar(20)
set @s=‘ hello wor ld ‘
print @s;
set @s=rtrim(@s);
print @s;
set @s=ltrim(@s);
print @s;
set @s=ltrim(rtrim(‘o‘));
print @s;

时间: 2024-12-20 02:07:11

SQL sever 学习,2016,5,31,(重点:100行以后,字符串操作。)的相关文章

OLED裸屏学习(2016.8.31)

Type:LQ12864 单点长宽:0.154mm 焊盘:22 电源类型: VCC:C=circuit 表示电路的意思, 即接入电路的电压 VDD:D=device 表示器件的意思, 即器件内部的工作电压; VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压 液晶裸片大同小异,本以为没什么好研究的,但之前周楚仑大神发现了一个底层BUG,导致所有像素点均反向且不可逆,这让我很疑惑,于是今天静下心来看了下底层. 关于两个基本函数: void OLED_Write_Command(

SQL sever学习笔记

SQL Server管理 (1) SQL Server的两种验证方式:用户名验证和Windows验证,开发时用Windows验证就行了. (2) 常用字段类型:bit(可选值0,1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar). (3) varchar(),nvarchar().char(n)的区别:char(n)不足长度n的部分用空格填充.Var: variable:可变的. SQL语句入门 (1) SQL语句是和DBMS"交谈"专用

python学习笔记2:列表,字典,字符串操作

一 模块 模块就是别人写好的代码,可以通过import引用.标准库是指python官方发布的,默认安装python时就装好的库. 1.os 和系统相关,比如: >>> os.system("ls -lrthF")total 20M-rw-r--r--. 1 root root 20M Jul 22 13:48 Python-3.5.2.tgz-rw-------. 1 root root 958 Jul 22 19:34 anaconda-ks.cfgdrwxrwxr

java连接到sql sever 2008_java基础学习

(sql sever 2008跟sql sever 2005装载JDBC驱动的方法是一样的) 一.加载驱动的文字教程 1.准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>

数据库操作----找了MySQL和SQL Sever两个的基础语句

这是MySQL的基本操作: 1 登入数据库:mysql -uroot -p+密码 (SQL Sever登入: osql -U 用户名 -P 密码) 2 显示已存在的数据库:show databases; 3 使用某个数据库:use+数据库名; 4 显示某个数据库下已存在的关系表:show tables; 5 6 查看某个关系表所有数据:select * from tableName; 7 查看某个关系表部分字段数据:select 字段1,字段2,...,字段n from tableName; 8

SQL语句学习手册实例版

SQL语句学习手册实例版 表操作 例1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, 0) NOT NULL SNAME    CHAR (8) NOT NULL AGE      NUMERIC(3,0) SEX      CHAR(2) BPLACE  CHAR(20) PRIMARY KEY(SNO)) 例2  对于表的教学管理数据库中的表 ENROLLS ,可以定义如下: C

链接Eclipse和SQL SEVER

一.本文内容 讲诉使用JDBC建立Eclipse和Sql sever的桥梁的过程与其中可能遇见的问题. 二.详细内容 1.JDBC驱动的下载 建议一定要上与SQL SEVER相关的微软官网下载,以便找到最适合自己手中sql的版本驱动 本文我使用的是windows.10操作系统,SQL SEVER 2014 EXPRESS(设置了管理员登陆密码),Eclipse(已配置好JDK) 截至至(2015年11月11日) 最新的驱动微软下载地址为:https://www.microsoft.com/zh-

SQL的学习

SQL的学习之路,主要参考资料是: SQL必知必会 W3school的SQL简介 操作使用的数据库为Access及MySQL. 数据采用的是SQL必知必会中的数据(最下方可以下载数据).其有5个表,表的关系如下: 看不清的图片:右击新标签页打开即可. 1.SQL基础 2.检索数据 3.排序检索数据 4.过滤数据 5.高级过滤 6.通配符过滤 7.创建计算字段 8.函数特性 9.函数   10.汇总数据 11.分组数据 以上测试均在Access数据库中进行,以下于MySQL中进行,通过workbe

SQL server学习

慕课网sql server学习 数据库第一印象:desktop--web server--database server** 几大数据库:sql server.oracle database.DB2.MySql.MongoDB.....(SQL结构性查询语言) 安装软件:SQL Server Management Studio 附加.分离(attach.detach)数据库文件: 数据库图表关系图: 关系型数据库: 二维表.主键.外键 T-SQL简介: T-SQL query--从数据库中查询索