SQL Server 积累

时间:2020-12-15 17:43:49

sql语句修改某表某字段的数据类型和字段长度:

问题是在修改老功能中暴露出来的,我修改了图片上传功能,结果报图片路径超出数据库字段规定长度,我检查数据库后发现之前设计数据库的人将imagepath值设置为varchar(50),=_=*!!!我的个天,我是真不知道怎么想的。。。开始我想的是在该表名上面右击进行“设计”操作,但是发现改后保存不了,后来改用代码修改,相关 代码如下:

修改字段数据长度:

use  数据库名称

alter table 表名alter column 列名(即字段名称)  varchar(1000)

修改字段数据类型:

alter table 表名alter column 列名(即字段名称)  nvarchar(1000)

alter table 表名alter column 列名(即字段名称)  int

修改表名称:

sp_rename    oldtable , newtable

夸库查询:

select * from [DbName].[结构名称].[TableName]

其实所用的语法都是一个。。。

SQL Server 的 DATEDIFF() 函数:该函数返回两个日期之间的时间。

DATEDIFF(datepart,startdate,enddate)

使用:

    SELECT DATEDIFF(day,'2016-11-28','2016-11-29') AS DiffDate      

    得到:1

    SELECT DATEDIFF(day,'2016-11-29','2016-11-29') AS DiffDate

    得到:0

    SELECT DATEDIFF(day,'2016-11-29','2016-11-28') AS DiffDate

    得到:-1

SQL Server 中新增语句:多行同时新增和单行新增

--多行同时插入
insert into Sys_Role (Name,GroupName,Memo,UpdateTime)
select '分仓管理员' , '全国仓库' , '' ,GETDATE() UNION ALL
select '分仓采购员' , '全国仓库' , '' ,GETDATE() UNION ALL
select '合作伙伴仓库管理员' , '全国仓库' , '' ,GETDATE() --单行插入
insert into Sys_Role values(
'分仓管理员','全国仓库','', GETDATE()
)

sqlserver 系统函数,获取年,月,日,时,分,秒(20170905)


select top 10000 *, YEAR(UpdateTime) as year1,month(UpdateTime) as yue,DAY(UpdateTime) ri,
Datename(hour,UpdateTime) shi,Datename(minute,UpdateTime) fen,Datename(second,UpdateTime) miao from Sys_ErrorLog a
where TableName ='OrderDelivery' and UpdateTime >'2017-09-03' order by year1 , yue,ri,shi,fen,miao

SQL Server  积累

SQL是结构化查询语言的简写

DDL:数据库定义语言

DQL:数据查询语言

DML:数据操作语言

DCL:数据控制语言