不用CASE WHEN 的做法。源代码如下:
string sql="select * from CONTACTPERSON ,CUSTOMER where CONTACTPERSONID='"+strContactid+"' and CONTACTPERSON.CUSTOMERID=CUSTOMER.CUSTOMERID";
DataSet ds=new DataSet();
ds=Common.GetDSCommon(sql);
if(ds.Tables[0].Rows[0]["CONTACTPERSONSEX"].ToString()=="0")
{
ds.Tables[0].Rows[0]["CONTACTPERSONSEX"]="男";
}
else
{
ds.Tables[0].Rows[0]["CONTACTPERSONSEX"]="女";
}
使用CASE WHEN做法。
string sql="select CUSTOMER.*,CONTACTPERSON.CONTACTPERSONNAME,CONTACTPERSON.CONTACTPERSONBIRTHDAY,CONTACTPERSON.CONTACTPERSONPOSITION,CONTACTPERSON.CONTACTPERSONDEPTNAME,";
sql+="CONTACTPERSON.TELEPHONE,CONTACTPERSON.MAIL,CONTACTPERSON.CITY,CONTACTPERSON.PROVINCE,CONTACTPERSON.POSTCODE,CONTACTPERSON.COUNTRY,CONTACTPERSON.MEMO,";
sql+="CONTACTPERSON.DIRECTOR,";
sql+="case when CONTACTPERSON.CONTACTPERSONSEX = '0'then '男' when CONTACTPERSON.CONTACTPERSONSEX= '1' then '女' end as CONTACTPERSONSEX from CUSTOMER ,CONTACTPERSON where CONTACTPERSONID='"+strContactid+"' and CONTACTPERSON.CUSTOMERID=CUSTOMER.CUSTOMERID";
可以看出这样明显加长了,SQL语句,这样做有什么好处呢?