日期:2014-05-17  浏览次数:20538 次

mssql数据库字符串格式化问题
现有SN表如下:
SNID    SNFormat
1     "CK" - YYYY - MM - DD - [000]
2     "WWL" - YYYY - MM - DD - [000]
3     "WWT" - YYYY - MM - DD - [000]
4     "SK" - yyyy - mm - dd - [000] 
5     "DF" - yyyy - mm - dd - [000] 
6     "JT" - yyyy - mm - dd - [000] 
7     "JHD" - yyyy - mm - dd - [000] 

Bill表如下:
SNID       MaxNo
1             5
2             4
3             6
4             111
5             0
6             1
7             20

现在需求如下:我传入SNID和日期返回一个格式化后的的值。
比如:我传入SNID=1,日期=2013-07-24,
那么返回的值应该为CK-2013-MM-DD-006
我传入snid=4,日期=2013-07-24,
那么返回的值应该为SK-yyyy-mm-dd-112

还望DBA帮帮忙,先谢了。

数据库 格式化 MS?SQL

------解决方案--------------------

Declare @ID int
Declare @Adate datetime

set @ID=1
Set @Adate='2013-07-24'


Declare @table1 table (SNID int ,SNFormat varchar(50))
Declare @table2 table(SNID int, MaxNo int)
insert @table1
select  1,N'"CK" - YYYY - MM - DD - [000]' union all
select  2,N'"WWL" - YYYY - MM - DD - [000]' union all
select  3,N'"WWT" - YYYY - MM - DD - [000]' union all