sql exec、sbstring left right、时间函数、事务、视图索引、bulk insert、类型转换和时间120中格式

一、exec

declare @nn varchar(100),@nm varchar(10)
Set @nm='cmp'
set @nn='select *from '+@nm
exec(@nn)

二、sbstring left right

select left('tree',2) --tr
select right('tree',3) --ree
select substring('tree',3,1)
select ltrim('  计算机科学')--??


update tb1
--set nm = upper(left(nm,1))+right(nm,4)
set nm = left(nm,1)+lower(substring(nm,2,1))+right(nm,3)
select *from tb1


三、时间函数

--getdate(),取系统日期
--dateadd()
--datediff()
--year()..second()


select getdate()
select dateadd(year,2,getdate()) --ms,表毫秒
declare @dd date
set @dd='1980-12-12'
select datediff(year,@dd,getdate())
select month(getdate())--3


四、事务

--事务 transaction


begin tran tran_name          --开始 (transaction可以写全)
语句
save transaction point
if @@ERROR<>0   --(不为0 有错误)
rollback transaction tran_name/point  --返回tran_name或point 
else --没错误
commit transaction tran_name   --提交事务

五、视图索引

select * from tbl where id='FFC57496-DBB9-4A90-9A05-D0108C7686E0'
select '索引后',datediff(ms,@dt,getdate())




create table tbl(id varchar(40),nm varchar(10),ag int)


while 1=1
insert into tbl values(newid(),'abc',rand()*60)






视图--------------------------------------------------view建立在物理表上的逻辑表(虚表)
create view view_name
as


select * from view_name
按 姓名/年龄/昵称 查询
select 姓名 from 姓名视图


查询是在逻辑表 修改是在物理表


六、bulk insert

--insert into tablename (fields...) values (value1...)
--insert into tablename select*from table2 where
bulk insert inf
from 'D:\234.txt' 
with(fieldterminator=' ',rowterminator='\n')
select*from inf
select*from nameorder where left (noname,4)='杨'
delete from nameorder
select*from inf


drop table inf
create table inf
(--nonum varchar(10),
noID  varchar(20),
noname varchar(20),
sex varchar(2),
birthd varchar(50),
noschool varchar(40),
nophone varchar(20))


七、

--cast(数据 as 类型) 数据类型转换
--convert(类型,数据,格式) 日期必须用这个 格式有1-120
select cast (1/3 as char)
select convert(int,'123')
select convert(char,getdate(),5)
declare @i int
set @i=1
while @i<=120
begin
select @i, convert(char,getdate(),@i)
set @i=@i+1
end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值