select Convert(varchar,Convert(money,TaxExValue),1) from A--Result 2,794.87 58,119.66 1,367.52
对于SQL Server来说,进行金额的转换,可以按照上面的操作那样,会自动将金额处理为两位小数,并用逗号分隔小数点前面的数字。
当然可以用字符串拼接的方式,将金额符号加上去。
对于项目中,客户需要将金额转换的时候,这样处理显示出来的效果会好一些。
一下是用ORACLE的显示结果。
Select to_char(hisal,'L9,999') as Value from SALGRADE--result¥1,200¥1,400¥2,000¥3,000¥9,999
--Decode()函数
//SQL Server 下,用case 实现
select case '2' when '1' then '内容1' when '2' then '内容2' when '3' then '内容3' End Union all select case '4' when '1' then '内容1' when '2' then '内容2' when '3' then '内容3' End --Result 内容2 NULL
//Oracle 下,Decode和Case都可以
select Decode('2','1','内容1','2','内容2','3','内容3') from dual Union all select case '2' when '1' then '内容1' when '2' then '内容2' when '3' then '内容3' End from dual Union all select Decode('4','1','内容1','2','内容2','3','内容3') from dual Union all select case '4' when '1' then '内容1' when '2' then '内容2' when '3' then '内容3' End from dual;--Result 内容2 内容2
Oracle后面两个SQL执行出来的结果不是NULL而是''
外键约束。
删除时同时删除子表数据
Oracle测试用例
1 ORACLE 的测试用例 2 1 drop table Materials 3 2 / 4 3 Create table Materials 5 4 ( 6 5 MaterialID varchar2(30), 7 6 MaterialCode varchar2(255), 8 7 MaterialName varchar2(255), 9 8 Specs varchar2(255), 10 9 UnitID varchar2(30), 11 10 constraint PK_Materials primary key (MaterialID) 12 11 ) 13 12 / 14 13 drop table MaterialComLinks 15 14 / 16 15 Create table MaterialComLinks 17 16 ( 18 17 CompanyID varchar2(30), 19 18 MaterialID varchar2(30), 20 19 IMUnitID varchar2(30), 21 20 PUUnitID varchar2(30), 22 21 constraint PK_MaterialComLinks primary key (CompanyID,MaterialID), 23 22 constraint fk_MaterialComLinks foreign key (MaterialID) references Materials(Materialid) on delete cascade 24 23 ) 25 24 / 26 25 27 26 Insert into Materials (MaterialID,MateiralCode,MaterialName,Specs,UnitID) 28 27 values('0001','010101','测试物料1','规格型号','计量单位') 29 28 / 30 29 Insert into Materials (MaterialID,MateiralCode,MaterialName,Specs,UnitID) 31 30 values('0002','010102','测试物料2','规格型号2','计量单位2') 32 31 / 33 32 Insert into MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID) 34 33 values('01','0001','库存计量单位1','采购计量单位1') 35 34 / 36 35 Insert into MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID) 37 36 values('01','0002','库存计量单位2','采购计量单位2') 38 37 / 39 38 Insert into MaterialComlinks (CompanyID,MaterialID,IMUnitID,PUUnitID) 40 39 values('02','0002','库存计量单位3','采购计量单位3')
上两个建表语句分别为创建
集团物料字典表,和公司物料表。
并预制了集团物料两条数据和公司物料两条数据
结果
select * from Materials ; Select * from MaterialComlinks--Result1 0001 010101 测试物料1 规格型号 计量单位 0002 010102 测试物料2 规格型号2 计量单位2 --Result2 01 0001 库存计量单位1 采购计量单位1 01 0002 库存计量单位2 采购计量单位2 02 0002 库存计量单位3 采购计量单位3
当在集团物料中删除对应物料信息时,自动删除公司物料下的对应数据。
View Code
delete from Materials where MaterialID='0001'select * from Materialcomlinks --Reuslt 01 0002 库存计量单位2 采购计量单位2 02 0002 库存计量单位3 采购计量单位3