sql-server - CASE WHEN 限制返回 SQL Server 2008 的行
问题描述
我有一个 Excel 文件,我使用 SQL Server 命令从中导入数据。该命令运行良好,但是当我使用特定的 case 语句时,它似乎过滤掉了数据。我在网上找不到任何关于 CASE 过滤行的信息,所以我想我会在这里问。
此代码返回大约 8000 行
SET DATEFIRST 1;
SELECT
*,
CASE
WHEN [Artikelnummer] = 'Extern'
THEN [Artikel SFC]
ELSE [Artikel Omschrijving]
END AS [Artikel Omschrijving 2],
date.DifInDays([Actueel Geplande Leverdatum], [Geplande Leverdatum]) AS [Te Laat Dagen],
date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5 AS [Gevraagde Dlt],
FROM
I_TN_Exp_PUR_tdpur041_004_2
WHERE
[bedrijf] = 103;
此代码仅返回约 70 行。
SET DATEFIRST 1;
SELECT
*,
CASE
WHEN [Artikelnummer] = 'Extern'
THEN [Artikel SFC]
ELSE [Artikel Omschrijving]
END AS [Artikel Omschrijving 2],
date.DifInDays([Actueel Geplande Leverdatum], [Geplande Leverdatum]) AS [Te Laat Dagen],
date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5 AS [Gevraagde Dlt],
CASE
WHEN (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) >= [levertijd ITM]
AND (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) >= [dlt bevestigd]
THEN 'OK'
WHEN (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) >= [levertijd ITM]
AND (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) < [dlt bevestigd]
THEN 'NOK'
WHEN (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) < [levertijd ITM]
AND (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) >= [dlt bevestigd]
THEN 'OK+'
WHEN (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) < [levertijd ITM]
AND (date.DifInDays([Geplande Leverdatum], [Orderdatum]) / 7 * 5) < [dlt bevestigd]
THEN 'OK/NOK'
ELSE 'NOK'
END AS [doorlooptijdcheck]
FROM
I_TN_Exp_PUR_tdpur041_004_2
WHERE
[bedrijf] = 103;
case 语句用于生成可以在文档中过滤的值 ([doorlooptijdcheck])。
在某些值上,分配了 OK/NOK/OK+/NOK|OK。
为什么当语句过滤掉行?
我了解到 [Dlt bevestigd] 在停止返回记录之后的行中是(空白)。我尝试通过使用 when [Dlt bevestigd] = '(blank)' Then 'no data' 来排除它,但这不起作用。使用 Cast 将 [Dlt bevestigd] 转换为 int 也不起作用。似乎(空白)值正在退出 sql 命令。
解决方案
推荐阅读
- python-3.x - 如何从表中提取上下文数据来训练自定义命名实体识别器?
- verilog - Verilog中特定整数计数的位数
- linux - 如何在 docker 中运行本地图像/容器?
- typescript - Typescript - 如何将函数指针传递给函数并在函数体内调用
- blockchain - 关于区块链和智能合约的几个问题
- python - Pandas:从给定名称列表中获取列索引
- r - 如何在 R 中创建类似于附加图像的视觉效果?
- spring-boot - WebFlux 添加阻塞逻辑
- javascript - 当用户播放另一个视频时停止当前视频播放?
- java - 将 log4j 附加到 logback 日志