‘壹’ sql怎样自动生成编号格式如:GG+YYYYMMDD+4位流水编号
我的项目里也用到这种模式
但有点不好,灵活性太差,逻辑判断都放在程序里,我刚写的改进下。
CREATE PROC CreateMaxNum
(
@NumberHeader NVARCHAR(40) --号码单头类型
)
DECLARE @NumberHeader NVARCHAR(40), --编号头
@NumberMiddle CHAR(8), --编号中间规则
@MaxNum CHAR(8), --编号最大流水号
@SQL NVARCHAR(4000)
SET @NumberMiddle= CONVERT(CHAR(8),GETDATE(),112) --设置中间编码规则
SET @SQL = 'SELECT @Num=RIGHT(''0000''+LTRIM(MAX(RIGHT(号码,4))+1),4)
FROM 号码表
WHERE 号码 LIKE '''+ @NumberHeader+'%'' ';
EXEC sp_executesql @Sql,N'@Num NVARCHAR(40) OUTPUT',@MaxNum OUT
IF @MaxNum IS NULL --不存在该类型的号码,插入流水号为1的号码,
BEGIN
SELECT @NumberHeader + @NumberMiddle + '0001'
END
ELSE
BEGIN --生成最大流水号
SELECT @NumberHeader + @NumberMiddle + @MaxNum
END
‘贰’ 在SQL Server中怎样给一条数据写多个标签,查询任意一个标签或者多个标签能查到对应的数据。
感觉标签应该再建立一个表,有标签字段和公司代码字段。当查询标签时,先查标签表,然后根据标签表的公司代码再查出公司。
‘叁’ SQL怎么实现按相同类别的组重新流水编号,具体请点击。
sqlserver2005以上的版本可以用排序函数轻松搞定
select *,
right('00'+convert(varchar(10),row_number() over(partition by class order by convert(int,number))),3) as NewNumber
from tb
‘肆’ sql标签怎么做
固定资产标签主要用于企业内部对固定资产的管理,如公司内部的电脑,办公桌办公椅的管理,固定资产标签是贴在固定资产上,标注固定资产的名称,编号,使用人,以及登记日期等信息,下面介绍在条码标签打印软件中如何连接SQLServer数据库制作固定资产标签。