存储里判断大小,然后赋值
2007-04-04 11:36
246 查看
存储问题:
case q9 when 0 then '+''''+'新單'+''''+' when 1 then '+''''+'再協商'+''''+' end as jb
假如我要换成 q9<=100 && q9>=85 的判断怎么改?
方法一:
set @strSql = 'select case when (q9<=100 and q9>=85) then '+''''+'A'+''''+' when (q9<=84 and q9>=70) then '+''''+'B'+''''+' when (q9<=69 and q9>=55) then '+''''+'C' +''''+' when (q9<=54 and q9>=40) then '+''''+'D'+''''+' when (q9<40) then '+''''+'E'+''''+' end as jb,* from jdkh'
方法二:
case when q9 between 85 and 100 then '+''''+'新單'+''''+' when 1 then '+''''+'再協商'+''''+' end as jb
-------------------------
case when用法和and 后加条件
SELECT A.OrderSID as InvId,
E.BizInvType as TypeCode,
E.TypeName as TypeName,
B.SimpleName as CorpName,
C.StorName as StorName,
CASE
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '1' THEN
-A.TotalDefQty / 250
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '2' THEN
-A.TotalDefQty / 0
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '3' THEN
-A.TotalDefQty
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '4' THEN
-A.TotalDefQty * 10
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '5' THEN
-A.TotalDefQty * 200
ELSE
-A.TotalDefQty
END as TotalDefQty,
A.DetailCount,
D.PersonName,
A.InputTime,
A.Remark,
F.Enterprise as Sourcename
FROM B_OD_OrderMaster A
INNER JOIN G_OG_CorpInfo B ON A.CorpSID = B.CorpSID
INNER JOIN B_ST_BSRealStorAttr C ON A.RealStorSID = C.StorSID
INNER JOIN G_OG_PersonInfo D ON D.PersonSID = A.InputOperSID
INNER JOIN G_PB_BizInvType E ON E.BizInvType = '02'
LEFT JOIN G_CS_CUSTOMER F ON A.CUSTOMERSID = F.CUSTOMERSID
WHERE A.IsActive = '1'
AND A.IsReturn = '1'
AND A.IsStorAudit = '0'
AND A.IsBizAudit = '0'
AND SUBSTR(A.InputTime, 1, 8) >= F_BS001QRYIONOTICE.BeginDate_
AND SUBSTR(A.InputTime, 1, 8) <= F_BS001QRYIONOTICE.EndDate_
AND A.CorpSID = (CASE WHEN F_BS001QRYIONOTICE.CorpSID_ = '' OR
F_BS001QRYIONOTICE.CorpSID_ IS NULL THEN A.CorpSID ELSE
F_BS001QRYIONOTICE.CorpSID_ END)
AND A.RealStorSID = (CASE WHEN F_BS001QRYIONOTICE.StorSID_ = '' OR
F_BS001QRYIONOTICE.StorSID_ IS NULL THEN
A.RealStorSID ELSE F_BS001QRYIONOTICE.StorSID_ END)
AND E.IsInStor =
(CASE WHEN F_BS001QRYIONOTICE.State_ = '1' THEN '1' ELSE E.IsInStor END)
AND E.IsOutStor =
(CASE WHEN F_BS001QRYIONOTICE.State_ = '2' THEN '1' ELSE E.IsOutStor END)
case q9 when 0 then '+''''+'新單'+''''+' when 1 then '+''''+'再協商'+''''+' end as jb
假如我要换成 q9<=100 && q9>=85 的判断怎么改?
方法一:
set @strSql = 'select case when (q9<=100 and q9>=85) then '+''''+'A'+''''+' when (q9<=84 and q9>=70) then '+''''+'B'+''''+' when (q9<=69 and q9>=55) then '+''''+'C' +''''+' when (q9<=54 and q9>=40) then '+''''+'D'+''''+' when (q9<40) then '+''''+'E'+''''+' end as jb,* from jdkh'
方法二:
case when q9 between 85 and 100 then '+''''+'新單'+''''+' when 1 then '+''''+'再協商'+''''+' end as jb
-------------------------
case when用法和and 后加条件
SELECT A.OrderSID as InvId,
E.BizInvType as TypeCode,
E.TypeName as TypeName,
B.SimpleName as CorpName,
C.StorName as StorName,
CASE
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '1' THEN
-A.TotalDefQty / 250
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '2' THEN
-A.TotalDefQty / 0
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '3' THEN
-A.TotalDefQty
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '4' THEN
-A.TotalDefQty * 10
WHEN F_BS001QRYIONOTICE.UnitLevel_ = '5' THEN
-A.TotalDefQty * 200
ELSE
-A.TotalDefQty
END as TotalDefQty,
A.DetailCount,
D.PersonName,
A.InputTime,
A.Remark,
F.Enterprise as Sourcename
FROM B_OD_OrderMaster A
INNER JOIN G_OG_CorpInfo B ON A.CorpSID = B.CorpSID
INNER JOIN B_ST_BSRealStorAttr C ON A.RealStorSID = C.StorSID
INNER JOIN G_OG_PersonInfo D ON D.PersonSID = A.InputOperSID
INNER JOIN G_PB_BizInvType E ON E.BizInvType = '02'
LEFT JOIN G_CS_CUSTOMER F ON A.CUSTOMERSID = F.CUSTOMERSID
WHERE A.IsActive = '1'
AND A.IsReturn = '1'
AND A.IsStorAudit = '0'
AND A.IsBizAudit = '0'
AND SUBSTR(A.InputTime, 1, 8) >= F_BS001QRYIONOTICE.BeginDate_
AND SUBSTR(A.InputTime, 1, 8) <= F_BS001QRYIONOTICE.EndDate_
AND A.CorpSID = (CASE WHEN F_BS001QRYIONOTICE.CorpSID_ = '' OR
F_BS001QRYIONOTICE.CorpSID_ IS NULL THEN A.CorpSID ELSE
F_BS001QRYIONOTICE.CorpSID_ END)
AND A.RealStorSID = (CASE WHEN F_BS001QRYIONOTICE.StorSID_ = '' OR
F_BS001QRYIONOTICE.StorSID_ IS NULL THEN
A.RealStorSID ELSE F_BS001QRYIONOTICE.StorSID_ END)
AND E.IsInStor =
(CASE WHEN F_BS001QRYIONOTICE.State_ = '1' THEN '1' ELSE E.IsInStor END)
AND E.IsOutStor =
(CASE WHEN F_BS001QRYIONOTICE.State_ = '2' THEN '1' ELSE E.IsOutStor END)
相关文章推荐
- 判断是否为空然后赋值
- 哥,如何运用java取得某一链接网址中所有的链接网址并存储?然后我再调用HttpURLConnection判断链接有效性
- mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作
- Android 安卓 判断存储大小
- mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作
- c语言学习笔记(4)struct和union:柔性数组存储斐波那契数列以及union判断系统大小端
- mysql存储过程判断不为空和不为空,查询结果赋值变量
- 2.创建一个20个大小的随机数组,然后输入一个数,判断是否存在这个数
- 动态分配6个双精度型的存储区域,然后赋值并打印出来
- mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作
- mysql 判断两个时间差 然后赋值 使用 case when
- Android(java)学习笔记183:判断SD卡状态和存储空间大小
- c# 判断是否为空然后赋值的4种实现方法
- MySql存储日期为long型,判断时间大小
- java判断三个数字的大小(判断a,b,c按顺序从大到小,从小到大输出)
- 判断 std::list<XX>在结构体中占用的内存大小
- Python 判断日期大小( 判断开始时间是否早于结束时间)
- oracle中sql语句中判断blob的大小
- Sql 判断存储过程是否存在的方法
- Sql存储过程中判断某个数据表的某一行的某列的值是否为NUll