SQL 在查询结果增加自定义的三个字段?如何搞?

换成你的表名,

( select sum(sh.Precipitation) from StationAwsh1 f

sql增加字段 SQL增加字段语法sql增加字段 SQL增加字段语法


sql增加字段 SQL增加字段语法


你必须要在select中增加这这个计算,比如你算个总成绩吧 先在select语句中增加这个字段,然后在添加别名。

and f.ObservTimes Between sh.ObservTimes and

replace(replace(convert(varchar(13),dateadd(hh,12,cast(left(sh.ObservTimes,8) + ' ' + right(sh.ObservTimes,2) + ':00' as datetime)),120),'-',''),' ','')

) as Pre12H,

( select sum(sh.Precipitation) from StationAwsh1 f

and f.ObservTimes Between sh.ObservTimes and

replace(replace(convert(varchar(13),dateadd(hh,24,cast(left(sh.ObservTimes,8) + ' ' + right(sh.ObservTimes,2) + ':00' as datetime)),120),'-',''),' ','')

) as Pre24H,

( select sum(sh.Precipitation) from StationAwsh1 f

and f.ObservTimes Between sh.ObservTimes and

replace(replace(convert(varchar(13),dateadd(hh,72,cast(left(sh.ObservTimes,8) + ' ' + right(sh.ObservTimes,2) + ':00' as datetime)),120),'-',''),' ','')

) asMODIFY Pre72H

sql查询时增加一个字段显示

可以添加一列计算列,不用录入数据,会根据其他字段值计算出结果

或者在查询时自己结算fieldname添加一列临时列,设AB列为数值列,C列不存在

select A,B,AB/2.0 as C from tb

select@fdname sysname --要转换为标识字段的字段名 sum(成绩)as 总成绩 from 学生

你为什么一定要增加这个字段了,不如在查询的时access或者是sql server都很简单的候直接得出来就行了啊!

类似 这样的 select a,b,(a+b) as c from table

你说的这一个数据库中出现这样的内容,主要是因为你再编织的过程中,定义有错误。

SQL语句如何修改一个表的一个字段为自动增长列

"栏位

select 自增列=identity(int,1,1), into #tb from tableName

drop procedure [dbo].[p_setid]

--将表中的某个字段转换成标识字段,并保留原来的值

--注意,因为要删除原表,所以,如果表和其他表的关联,这些关联要重新创建

--调用示例

exec p_setid '表名','要转换的字段名'

--/

CREATE PROC P_SETID

@tbname sysname, --要处理的表名

declare @s1 varchar(8000),@s2 varchar(8000),@tmptb sysname

select @s1='',@s2='',@tmptb='[tmp_'+@tbname+'_bak]'

select @s1=@s1+',['+name+']'

+case name when @fdname then '=identity(bigint,1,1)' else '' end

,@s2=@s2+',['+name+']'

from syscolumns where object_id(@tbname)=id

exec('select top 0 '+@s1+' into '+@tmptb+' from ['+@tbname+']

insert into '+@tmptb+'('+@s2+') select '+@s2+' from ['+@tbname+']

set identity_insert '+@tmptb+' off

')

exec('drop table ['+@tbname+']')

exec sp_rename @tmptb,@tbname

create table 表(编号 bigint,姓名 varchar(10))

insert into 表

union all select 2,'李四'

union all select 4,'王五'

--调用存储过程,将编号字段改为标识字段

exec p_setid '表','编号'

--显示处理结果

select from 表

--显示是否修改成功

sele[NOCPTRANS2.alter table student add primary key(id);]ct name from syscolumns

where object_id('表')=id and status=0x80

--删除测试

1. 如果该字段不是主键,需要先设置该字段为主键:

alter table 表名 add primary key(字段名);

2. 修改字段为自动增长

alter table 表名 change 字段名 字段名 字段类型 auto_increment;

下面是完整例子:

3.alter table student change id id int auto_increment;

mysql测试过,可以这样做,其他数据库应该也可以。

改为自增列,应该还没有数据吧?否则应该也没办法改了。我觉得简单些可以删了再加,呵呵alter table drop column b

alter table add b int identity(1,1)

用企业管理器,把列属性的标识规范改为‘是’

这个是在建表的时候就设定好,如果后期修改的话,容易报错..

请教 怎么在sql 指定位置添加新的字段 命令是什么啊?

select @s1=substring(@s1,2,8000),@s2=substring(@s2,2,8000)

alter table xxx add 字段2 after d

在bc之间也是update stu set stuid = substring(stuid,1,2)+'h'+substring(stuname,3,len(stun企业管理器—-选择表---右键(设计表)ame)-2)一样的写法。

为access表增加一个字段的sql语句怎么写

DROP

ALTER

null

TABLE

的语法如下:

ALTER

TABLE

"table_name在后面加上如下语句:"

的详细写依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式]

如下:

加一个栏位:

1"

1资料种类"

删去一个栏位:

1"

改变栏位名称:

"原本栏位名"

"新栏位名"

"新栏位名资料种类"

改变栏位的资料种类:

1"

"新资料种类"

例如:alter

biao1

name

char(10)

在表(biao1)中加入

名为name的列

char(10)是它的字段类型。

sql语句 在某个字段中批量增加一个字母的命令怎么写

[改变[NULL | NOT NULL]GO方式]

如何在sql server创建表的时候设置自动增加字段

你需要在插入PID,Y字段时候查询PID=1的个数,然后再更新到X字段即可;

你先熟悉下触发器的用法,然后理清思路,在inserted之后,更新

X=select coun--使用测试t from 表 where PIDas=Inserted.PID

这只能用触发器实现了,插入后判断x若为空,就update

如果x是根据pid自增的,可以查出当前值然后+1

如果x是根据插入的时间而定,即最近一次插入相同pid的值的话,用企业管理器

还需要一个标识数据插入顺序的标识列或者时间列

sql server中如何实现自增字段?

add

1、主键自增,以及建表的语句如下:

CREATE TABLEIF NOT EXISTS `t_email_not` (

`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,`send_time` INT (16) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CHANGE其中 `id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,这句话表示设置id字段字增,类型为int

2、varchar类型的主键,不会自增。但是你可以通过创建触发器的形式,来实现自增。代码如下:

CREATE TRIGGER `T` BEFORE INSERT ON `user`FOR EACH ROW begin

set new.id=concat('SH',lpad(((SELECT substring(id,3,4) from user where id=(select id from user order by id desc limit 1))+1),4,0));

end;

这段语句的意思是,当user表中新插入一条一条语句,会触发‘触发器T’将以’SH‘开头的id字段自增+1。

扩展资料

sqldrop table 表语句建表规则如下:

create table ‘表名’ (‘字段1’ type1 [not null] [primary key] identity(起始值,递增量),‘字段2’ type2 [not null], ...)--primary key为主键 identity表示递增数量。

SQL中如何在表中添加字段

这个你可以在触发器里面实现!在设计阶段是无能为力的,你要控制的是非自增字段,而自增字段必须是的,所以不是你理解的那样的自增字段drop table tabelNameselect into tableName from #tbdrop table #tb 你这其实可以直接在数据库中修改表的结构,增加一列(就是内容递增的那列),把这列设为标识列,自动递增1。保存一下就行了在sql2000中可以这样,不过感觉不怎么好...如果表中关系多了,不建议这样用if exists (select from dbo.sysobjects where id = object_id(N'[dbo].[p_setid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)。

ALTER TABLE TableName1

--创建测试的表

ADD | ALTER [COLUMN] FieldName1

FieldType [(nFieldWidth [, nPrecision])]

[DEFAULT eExpression1]

[PRIMARY KEY | UNIQUE]

你的可能是日期时间型的列?

ALTER TABLE 表名 ADD COLUMN sendtimec datetime

补充:你要什么时间?新增加的列当然没有数值了。

你可以设置默认值

ALTER TABLE 表名 ADD COLUMN sendtime datetime default datetime()

“空上代码”是什么?

修改:ALTER TABLE 表名 ADD COLUMN sendtime datetime default getdate()

修改已存在数据行的该列值

update 表名 set sendtime=getdate()

做这个工作不需要写sql语句的

只要点击“设计表”就可以添加字段了,原先的数据不影响