DB2对年份的处理Year()
public DataSet GetCustomerAllocListByQC(CustomerAllocQueryDataContract aQC)
{
StringBuilder sql = new StringBuilder();
sql.Append(@"SELECT * FROM
(SELECT
'01' AS CUSTOMERALLOCTYPE,'新车客户' AS CUSTOMERALLOCTYPENAME,
CASE WHEN T1.CUSTOMERGRADE = 'A' THEN 'A'
WHEN T1.CUSTOMERGRADE = 'B' THEN 'B'
WHEN T1.CUSTOMERGRADE = 'C' THEN 'C'
WHEN T1.CUSTOMERGRADE = 'D' THEN 'D'
WHEN T1.CUSTOMERGRADE IS NULL THEN 'D' END AS CUSTOMERGRADE,
T4.CUSTOMERCODE,T4.CUSTOMERNAME,
T4.MOBILEPHONE,T4.MOBILEPHONE1,T4.TELEPHONE,
CASE WHEN T4.SEX = 'F' THEN '?' WHEN T4.SEX = 'M' THEN '?' END AS SEX,
T4.PROFESSIONCODE,T5.COMMONNAME AS PROFESSIONNAME,
T2.CARLICENSENO,T2.FRAMENO,T2.CARMODELPKID,
T8.COMMONNAME AS INSURERNAME, T6.INSURERCODE , T6.INSURANCEBUYDATE, T6.INSURANCEMATURITYDATE
,T3.ORIGINALSALEID,T7.FULLNAME AS ORIGINALSALENAME
,T3.ISALLOC
FROM RM_CARINFO T1
LEFT JOIN VM_CARINFO T2 ON T1.FRAMENO = T2.FRAMENO
LEFT JOIN RT_CARALLOCINFO T3 ON T1.FRAMENO = T3.FRAMENO
LEFT JOIN UM_CUSTOMER T4 ON T4.CUSTOMERCODE = T2.CUSTOMERCODE
LEFT JOIN CM_COMMONCODE T5 ON T4.PROFESSIONCODE = T5.COMMONCODE AND T5.CODETYPE = 'CC01'
LEFT JOIN (SELECT MAX(BUYDATE) AS BUYDATE ,FRAMENO FROM RT_INSURANCEBUY GROUP BY FRAMENO) T61 ON T1.FRAMENO =T61.FRAMENO
LEFT JOIN RT_INSURANCEBUY T6 ON T61.FRAMENO=T6.FRAMENO AND T61.BUYDATE=T6.BUYDATE
LEFT JOIN CM_STAFF T7 ON T3.ORIGINALSALEID = T7.STAFFPKID
LEFT JOIN CM_COMMONCODE T8 ON T6.INSURERCODE = T8.COMMONCODE AND T5.CODETYPE = 'CC12'
WHERE YEAR(T1.PURCHASEDATE) = YEAR(CURRENT TIMESTAMP) - 1 AND T6.INSURERCODE IS NOT NULL AND T3.ISALLOC = 'N' AND VALUE(T3.NOTCALL,'N') = 'N'
AND VALUE(T1.DELETED,'0') = '0' UNION ALL SELECT
'02' AS CUSTOMERALLOCTYPE,'续保客户' AS CUSTOMERALLOCTYPENAME,
CASE WHEN T1.CUSTOMERGRADE = 'A' THEN 'A'
WHEN T1.CUSTOMERGRADE = 'B' THEN 'B'
WHEN T1.CUSTOMERGRADE = 'C' THEN 'C'
WHEN T1.CUSTOMERGRADE = 'D' THEN 'D'
WHEN T1.CUSTOMERGRADE IS NULL THEN 'D' END AS CUSTOMERGRADE,
T4.CUSTOMERCODE,T4.CUSTOMERNAME,
T4.MOBILEPHONE,T4.MOBILEPHONE1,T4.TELEPHONE,
CASE WHEN T4.SEX = 'F' THEN '?' WHEN T4.SEX = 'M' THEN '?' END AS SEX,
T4.PROFESSIONCODE,T5.COMMONNAME AS PROFESSIONNAME,
T2.CARLICENSENO,T2.FRAMENO,T2.CARMODELPKID,
T8.COMMONNAME AS INSURERNAME, T6.INSURERCODE , T6.INSURANCEBUYDATE, T6.INSURANCEMATURITYDATE
,T3.ORIGINALSALEID,T7.FULLNAME AS ORIGINALSALENAME
,T3.ISALLOC
FROM RM_CARINFO T1
LEFT JOIN VM_CARINFO T2 ON T1.FRAMENO = T2.FRAMENO
LEFT JOIN RT_CARALLOCINFO T3 ON T1.FRAMENO = T3.FRAMENO
LEFT JOIN UM_CUSTOMER T4 ON T4.CUSTOMERCODE = T2.CUSTOMERCODE
LEFT JOIN CM_COMMONCODE T5 ON T4.PROFESSIONCODE = T5.COMMONCODE AND T5.CODETYPE = 'CC01'
LEFT JOIN (SELECT MAX(BUYDATE) AS BUYDATE ,FRAMENO FROM RT_INSURANCEBUY GROUP BY FRAMENO) T61 ON T1.FRAMENO =T61.FRAMENO
LEFT JOIN RT_INSURANCEBUY T6 ON T61.FRAMENO=T6.FRAMENO AND T61.BUYDATE=T6.BUYDATE
LEFT JOIN CM_STAFF T7 ON T3.ORIGINALSALEID = T7.STAFFPKID
LEFT JOIN CM_COMMONCODE T8 ON T6.INSURERCODE = T8.COMMONCODE AND T5.CODETYPE = 'CC12'
WHERE YEAR(T1.PURCHASEDATE) <> YEAR(CURRENT TIMESTAMP) - 1 AND T6.INSURERCODE IS NOT NULL AND T6.SALESTYPE = '1' AND T3.ISALLOC = 'N' AND VALUE(T3.NOTCALL,'N') = 'N'
AND VALUE(T1.DELETED,'0') = '0' UNION ALL
SELECT
'03' AS CUSTOMERALLOCTYPE, '应到期客户' AS CUSTOMERALLOCTYPENAME,
CASE WHEN T1.CUSTOMERGRADE = 'A' THEN 'A'
WHEN T1.CUSTOMERGRADE = 'B' THEN 'B'
WHEN T1.CUSTOMERGRADE = 'C' THEN 'C'
WHEN T1.CUSTOMERGRADE = 'D' THEN 'D'
WHEN T1.CUSTOMERGRADE IS NULL THEN 'D' END AS CUSTOMERGRADE,
T4.CUSTOMERCODE,T4.CUSTOMERNAME,
T4.MOBILEPHONE,T4.MOBILEPHONE1,T4.TELEPHONE,
CASE WHEN T4.SEX = 'F' THEN '?' WHEN T4.SEX = 'M' THEN '?' END AS SEX,
T4.PROFESSIONCODE,T5.COMMONNAME AS PROFESSIONNAME,
T2.CARLICENSENO,T2.FRAMENO,T2.CARMODELPKID,
T8.COMMONNAME AS INSURERNAME, T6.INSURERCODE , T6.INSURANCEBUYDATE, T6.INSURANCEMATURITYDATE
,T3.ORIGINALSALEID,T7.FULLNAME AS ORIGINALSALENAME
,T3.ISALLOC
FROM RM_CARINFO T1
LEFT JOIN VM_CARINFO T2 ON T1.FRAMENO = T2.FRAMENO
LEFT JOIN RT_CARALLOCINFO T3 ON T1.FRAMENO = T3.FRAMENO
LEFT JOIN UM_CUSTOMER T4 ON T4.CUSTOMERCODE = T2.CUSTOMERCODE
LEFT JOIN CM_COMMONCODE T5 ON T4.PROFESSIONCODE = T5.COMMONCODE AND T5.CODETYPE = 'CC01'
LEFT JOIN (SELECT MAX(BUYDATE) AS BUYDATE ,FRAMENO FROM RT_INSURANCEBUY GROUP BY FRAMENO) T61 ON T1.FRAMENO =T61.FRAMENO
LEFT JOIN RT_INSURANCEBUY T6 ON T61.FRAMENO=T6.FRAMENO AND T61.BUYDATE=T6.BUYDATE
LEFT JOIN CM_STAFF T7 ON T3.ORIGINALSALEID = T7.STAFFPKID
LEFT JOIN CM_COMMONCODE T8 ON T6.INSURERCODE = T8.COMMONCODE AND T5.CODETYPE = 'CC12'
WHERE T6.INSURERCODE IS NOT NULL AND T6.SALESTYPE = '0' AND T3.ISALLOC = 'N' AND VALUE(T3.NOTCALL,'N') = 'N'
AND VALUE(T1.DELETED,'0') = '0'
) T
WHERE 1=1 "); if(aQC.CustomerName != string.Empty)
{
sql.Append(" and T.CustomerName like '%" +aQC.CustomerName+ "%'");
}
if(aQC.CallNo != string.Empty)
{
sql.Append(" and (T.MobilePhone like '% " +aQC.CallNo+ "%' or T.MobilePhone1 like '%" +aQC.CallNo+ "%' or T.Telephone like '%" +aQC.CallNo+ "%')");
}
if(aQC.ProfessionCode != string.Empty)
{
sql.Append(" and T.ProfessionCode = "+ aQC.ProfessionCode);
}
if(aQC.CarLicenseNo != string.Empty)
{
sql.Append(" and T.CarLicenseNo like '%" +aQC.CarLicenseNo+ "%'");
}
if(aQC.FrameNo != string.Empty)
{
sql.Append(" and T.FrameNo like '%" +aQC.FrameNo+ "%' ");
}
if(aQC.CustomerAllocType != string.Empty)
{
sql.Append(" and T.CustomerAllocType = " + aQC.CustomerAllocType);
}
if(aQC.InsureCompanyCode != string.Empty)
{
sql.Append(" and T.InSurerCode = " + aQC.InsureCompanyCode);
}
if(aQC.CustomerGrade != string.Empty)
{
sql.Append(" and T.CustomerGrade = " + aQC.CustomerGrade);
}
if(aQC.InsuranceMaturityDateFrom != string.Empty)
{
sql.Append(" and T.InsuranceMaturityDate >= " + aQC.InsuranceMaturityDateFrom);
}
if(aQC.InsuranceMaturityDateEnd != string.Empty)
{
sql.Append(" and T.InsuranceMaturityDate <= " + aQC.InsuranceMaturityDateEnd);
} DataSet ds = new DataSet();
FillDataSet(sql.ToString(),ds,new string[]{"Tmp_CustomerAllocInfo"});
ds.AcceptChanges();
return ds;
}
DB2对年份的处理Year()的更多相关文章
- db2基础
DB2知识文档 一.db2 基础 基本语法 注释:"--"(两个减号) 字符串连接:"||" 如set msg='aaaa'||'bbbb',则msg为'aaa ...
- DB2 SQL 日期函数
DB2 SQL 日期函数1:CURRENT TIMESTAMP 函数:获取当前日期时间语法:CURRENT TIMESTAMP参数:当前日期时间返回值:当前日期时间 2:CURRENT DATE 函数 ...
- DB2常用命令
DB2安装启动服务中启动不了,可用command启动并查看windows系统的日志.1.启动数据库 db2start2.停止数据库 db2stop3.连接数据库运行 db2命令之前要先运行db2c ...
- DB2常用sql函数 (转载)
http://www.techonthenet.com/sql/index.php 一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字 ...
- DB2 函数大全
DB2函数大全 函数名 函数解释 函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系 ...
- DB2日期和时间函数汇总
上一篇提到过在DB2中,可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值.则在这篇中,我们直接用VALUES关键字来看看这 ...
- DB2数据类型
DB2数据库的内置数据类型主要分成数值型(numeric).字符串型(character string).图形字符串(graphic string).二进制字符串型(binary string)或日期 ...
- DB2函数大全
DB2函数大全 函数名 函数解释 函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系 ...
- DB2数据库常用命令
--创建数据库 CREATE DATABASE example AUTOMATIC STORAGE YES --自动存储 ON 'D:\' DBPATH ON'D:\' --指定数据库控制文件的存储路 ...
随机推荐
- DrawerLayout带有侧滑功能的布局类(2)
ActionBarDrawerToggle: 在前一张中我们并没有使用drawLayout.setDrawerListener(); 对应的参数对象就是DrawerLayout.DrawerListe ...
- hdu 1381 Crazy Search
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1381 Crazy Search Description Many people like to sol ...
- 不靠谱的Paypal及海外网站
昨天因为报名参加某个比赛,需要用到Paypal付款,整整折腾了我一个小时.我先是使用自己的银行储蓄卡,到最后一步需要银行确认,提示我需要安装个插件才能输入密码.安装完插件后需要重启浏览器,整个流程又要 ...
- homework-01 "最大子数组之和"的解决过程
看到这个题目,我首先想到就是暴力解决 求出所有的子数组的和,取出最大值即可 但其中是可以有优化的 如 子数组[3:6]可以用[3:5]+[6]来计算 即可以将前面的计算结果保留下来,减少后面的重复计算 ...
- 替换APK中的jar包文件
[Qboy] 2014年12月21日 这几天,我第一次做的android游戏(WE!青春纪)马上就要上线.上线之前需要把各个渠道的SDK加入到我们游戏中,与渠道进行联运.但是商务很给力,一下子联系了1 ...
- VMWare Workstation 11安装CentOS7,附图 [原创]
1.新建虚拟机 2.新建虚拟机向导,选择典型 3.选择稍后安装操作系统 4.选择linux版本,注意:宿主系统是64位的,此处就得选64位:宿主系统是32位的,此处就得选32位 5.选择路径 6.指定 ...
- 【工具】openwrt安装记录
步骤: 1 从以太网引导启动.由于我们实验室在服务器上放了一个openwrt镜像,安装时先从以太网启动,将服务器上的镜像载入到RAM中启动系统. 2 用SCP将在PC上编译好的openwrt-XX ...
- Codeforces Round #FF (Div. 1) A. DZY Loves Sequences
题目链接: http://www.codeforces.com/contest/446/problem/A 题解: dp1[x]表示以x结尾的最大严格升序连续串,dp2[x]表示以x开头的最大严格升序 ...
- SPFA 原理剖析代码实现分析比较
算法简介 SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算. 算法流程 算法大致流程是用一个队列来进行维护. ...
- 使用Npoi向Excel中插入图片
先把数据库中的数据都导入到Excel表格中,把图片地址的路径全部转成绝对路径. 使用Npoi读取刚导出的Excle表格,把图片那个单元格的图片路径读出来,然后用文件流读取图片,然后通过Npoi把图片放 ...