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是结构化查询语言的简写
DDL:数据库定义语言
DQL:数据查询语言
DML:数据操作语言
DCL:数据控制语言