简单问题,可是俺不会。

micmingboy 2003-10-19 03:05:59
这个问题我问过,不过还不是很明白,所以再来讨教。高分相赠,不够再加。
问题:表里有“居民编号”和“地区码”两个字段组成,“居民编号”是主键,由地区码+7位数字组成。比如我在“地区码”输入abc,在居民编号里输入1。
自动生成abc0000001存入表中。怎么办,由于我是新手,请麻烦把过程写的详细些。谢谢
...全文
32 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sql1 2003-10-20
  • 打赏
  • 举报
回复
insert 表(字段名) values('abc'+right('00000000'+cast(数值 as varchar),7))
不过这样写如果你插入的数据很多 会影响效率的,你最好定义个变量做 效率就高点
如果插入数据不是很多这是个很好的方法
txlicenhe 2003-10-20
  • 打赏
  • 举报
回复
insert 表(字段名) values(地区码+right('00000000'+cast(数值 as varchar),7))
zhangxdd 2003-10-19
  • 打赏
  • 举报
回复
CrazyFor(吃素的鼹鼠) 的方法思路很清晰
CrazyFor 2003-10-19
  • 打赏
  • 举报
回复
insert 表(字段名)values('ABC'+right('00000000'+cast(数值 as varchar),8 ) )
wzh1215 2003-10-19
  • 打赏
  • 举报
回复
写错了。
CREATE PROC sss
@a varchar(20),
@b varchar(20),
@c varchar(40) output
AS
set @c=@a+right('00000000'+@b,7)
Go
declare @a varchar(20),@b varchar(20),@c varchar(40)
set @a='地区码'
set @b='1'
exec sss @a,@b,@c output
select @c
fallstone 2003-10-19
  • 打赏
  • 举报
回复
另外,应该是right('000000' + @b,7)
fallstone 2003-10-19
  • 打赏
  • 举报
回复
这个应该在程序里写吧。在数据库里做,不知道是否适用。
wzh1215 2003-10-19
  • 打赏
  • 举报
回复
CREATE PROC sss
@a varchar(20),
@b varchar(20),
@c varchar(40) output
AS
set @c=@a+right('00000000'+@b)
Go
declare @a varchar(20),@b varchar(20),@c varchar(40)
set @a='地区码'
set @b='1'
exec sss @a,@b,@c output
select @c

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧