当前位置:主页>销售管理软件> 列表

如何将数据库中某列的字符串根据表中对应值直接替换,急!!谢 找速达财务软件试用版

财务软件版1楼: 数据库表B里面NN字段中有&A1&+&B1&+&C1&+......根据A表中对应值直接替换,有什么方法解决吗?多谢大家。
A1,B1,C1....的值都在表A的SS字段中,值分别为:
a1的值为:10
B1的值为:20
C1的值为:30
....
如:一段字符串为:&A1&+&B1&+&C1&,取到EDIT1中为10+20+30

2楼: REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

语法
REPLACE ( ''string_expression1'' , ''string_expression2'' , ''string_expression3'' )

select replace(nn,''a1'',''10'') from table 如速达财务软件试用版

3楼: 表B中记录规则吗
即:包含的符号数一样多吗

4楼: 楼主的需求和我上次回复给别人的很相似。还不了解,我再回答。
-------
t1 fid,公式名称 公式计算
1 test (a-16)*2+b
t2 fid,字段A 字段A的值
1 a 11
1 b 12
t1和T2的关联字段FID
思路是:select (a-16)*2+b from table1 ,a和b为TABLE1的字段,就可以得出 (a-16)*2+b 的结果


先把T2的字段A的值倒置,交叉表

if object_id(''tmp1'') is not null
drop table tmp1
declare @sqltext varchar(4000)
select @sqlText=''select fid,''
select @sqlText=@sqltext+''(CASE 字段A WHEN ''''''+字段A+'''''' THEN 字段A的值 ELSE 0 END) AS '''''' +字段A+
'''''','' from (select distinct 字段A from t2)

select @sqlText=left(@sqlText,Len(@sqlText)-1)+'' into tmp1 from t2 ''
print @sqltext
execute (@sqlText)

这是得到表 tmp1(fid,a,b)
tmp1(fid,a,b)值(1,11,12)

然后:
declare @sqltext varchar(4000)
select @sqlText=''select a.fid,''
select @sqlText=@sqltext+b.公式计算+''as ''+a.公式名称+ '','' from (select distinct 公式名称 公式计算 from t1)as a
select @sqlText=left(@sqlText,Len(@sqlText)-1)+'' from from t1 a,tmp1 a where a.fid=b.fid''
print @sqltext
exec(@sqlText)

大体是这样的,我作过比这个还复杂的方面。
那是作一个大企业的自制成本工艺核算。

5楼: 多谢各位的回复,问题得已解决,我马上结贴放分。
TO:jackwuyes

你能留下你的QQ或MSN,我些不明白,能直接和你讨论吗?真的很急。

6楼: xyunyes@hotmail.com

财务软件版7楼: 接受答案了.