sql server 怎么使一列实现字母+数字,该数字为自动增长的形式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 怎么使一列实现字母+数字,该数字为自动增长的形式相关的知识,希望对你有一定的参考价值。
例如:m01 m02 m03这种形式的,请各位帮帮忙~~~~
参考技术A create table table_a1(item varchar(20))declare @papernum VARCHAR(50)
declare @newpapernum VARCHAR(50)
set @papernum= (select top 1item from table_a1(nolock) order by item desc)
if @papernum is null
set @newpapernum='m001' -- select convert (varchar ,datepart (year,getdate()))+'B001'
else begin
set @newpapernum= substring(@papernum,1,1)+right('00'+convert(varchar,convert(int,substring(@papernum,4,1))+1),3)
end
insert into table_a1
select newpapernum=@newpapernum
select * from table_a1追问
这个可以写成触发器吗?我想要的是,每向table_a1表中插入一行数据,item列自动生成m01、m02这样的格式,item列不能为空,有办法吗?
追答可以啊
本回答被提问者和网友采纳 参考技术B 建议你建立一个表专门为其他表生成主键,如果你用roacle也可以用sequnces自动生成。如果建表,字段内容一个就是表名,另一个就是当前的主键值,每次请求都自动增加1,然后返回这个值。 参考技术C 写个存储过程,先读取最大的那个如m03,去掉m,得到03,3+1=4,变成字符串m04,连接其他数据,插入到数据表 参考技术D 前缀是固定的?用一个自增长字段,查询的时候加上前缀。如果前缀不固定可以另外用一个字段放前缀。或者用触发器实现你的要求。sql中如何使一列中的多个重复数据只显示第一条
按照左边如果有重复的就取右边的第一个
1、首先在如下图中是一个Student的数据表,这里需要对数据表中的StudentName数据表中的单个的数据进行修改。
2、同样的方法这里首先打开数据库查询语句,输入查询语句先查询一下数据表中的数据内容。
3、输入查询语句,:Select * from Student,输入完毕之后选择全部内容,然后选择执行按钮,执行SQL语句。
4、执行完毕之后,在Student表中的第四行数据(StudentName中的“崔”)这里需要把它修改为“亮亮”,注意这里只要修改的是单个数据,并不是整行数据。
5、在数据表上,用鼠标右击选择里面的“编辑前200行”。
6、编辑完毕之后,就可以在查询表中看到所有数据了,如下图中红线内容。
参考技术Aselect AdviceName,max(authName_1) as authName_1 from table
group by AdviceName
说明:
因为你只选择这1个列作为相同条件列,所以我分组条件就这样写的
因为你要取第一个人名的话,max就OK了
觉得好,就请采纳
追问如果我选择AdviceTime和AdviceName作为相同列的条件,是不是group by 后边要加上AdviceTimene ?
追答select AdviceName,AdviceTime,max(authName_1) as authName_1 from table
group by AdviceName,AdviceTime
像这样,几个相同列条件就加几个
以上是关于sql server 怎么使一列实现字母+数字,该数字为自动增长的形式的主要内容,如果未能解决你的问题,请参考以下文章
qt 下tablewidget 中要单独使一列不能编辑怎么办
在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写?