1.数据库和excel
1.1数据库和excel处理重复数据和空值
1.1.1excel中处理重复值和空值
- 选中数据,在导航栏数据下
可以快速删除重复数据。
如果excel来计算重复的次数,可以通过选中数据,插入数据透视表即可。 - 处理空值
通过查找替换的功能即可
1.1.2sqlerver处理重复值和空值
- 处理重复值
select * from dbo.ZF_白云区
select distinct 位置区域 from dbo.ZF_白云区
select 位置区域,count(0) as 次数 from dbo.ZF_白云区 group by 位置区域
- 处理空值
select *from dbo.ZF_白云区 where 位置区域=' ' or 位置区域 is null or len(位置区域)=0
1.2数据库和excel处理字符串
1.2.1excel中处理字符串
借助了left、find、mid、right函数来截取字符串。
H行:=LEFT(G2,I2-1)
I行:=FIND("|",G2,1)
J行:=MID(G2,I2+1,K2-I2-1)
K行:=FIND("|",G2,I2+1)
L行:=MID(G2,K2+1,M2-K2-1)
M行:=FIND("|",G2,K2+1)
N行:=RIGHT(G2,LEN(G2)-M2)
1.2.2数据库中处理字符串
select 情况简写,
left(情况简写,CHARINDEX('|',情况简写,1)-1)
as 楼层
from dbo.ZF_白云区
其中还可以使用substring函数。
1.3数据库和excel过滤条件凸显规则
- excel过滤和凸显
excel中的过滤直接筛选就可以
凸显可以通过条件格式中的突出显示单元格规则 - 数据库中的过滤
select left(月租,CHARINDEX('元',月租,1)-1) as 租金 from dbo.ZF_白云区 where left(月租,CHARINDEX('元',月租,1)-1)>30000
2.
2.1变量声明、赋值
declare @name varchar(50)
declare @nameid int
declare @money money
set @name='along'
set @nameid=16
set @money=20
select @name as 姓名,@nameid as 姓名ID,@money as工资
2.2while循环
declare @num int
set @num=1
while @num<=5
begin
select @num as num值
set @num=@num+1
end
2.3动态sql
declare @table varchar(50)
declare @sql varchar(100)
set @table='[dbo].[ZF_班级]'
set @sql='drop table'+@table +';'
exec(@sql)
2.4游标
--1.声明游标,同时获取数据
declare ZF_dataTable Cursor scroll for
select 城市名称 from dbo.ZF_城市
--2.打开游标
open ZF_DataTable
--3.声明一个变量接收游标中的值
declare @ZF_Table nvarchar(50)
--4.从游标中获取一行值赋值给变量
fetch next from ZF_DataTable into @ZF_table
while(@@FETCH_STATUS=0)
--@@FETCH_STATUS 0获取成功 1失败
begin
select @ZF_Table
fetch next from ZF_DataTable into @ZF_Table
end
close ZF_DataTable
deallocate ZF_DataTable