【发布时间】:2017-03-02 01:20:29
【问题描述】:
我正在尝试从我们的数据库中检索一些信息。特别是序列号。我需要使用SUBSTRING 函数来执行此操作,但是我真的被卡住了。我需要获取第 13 位为 0 且第 14 位为 1 的所有序列号。由于序列号可以随时更改,我认为检查 CustomerLotID 列中的第 13 位 0 和第 14 位 1 将是最佳选择但是我在这样做时遇到了一些问题。请注意,select 语句后面的 1, 2, '2/28/2017' 仅用于测试。
SELECT
1, 2, '2/28/2017', '06:00', TX.OperationID, FriendlyName,
COUNT(DISTINCT(CustomerLotID)) AS SerialNumber
FROM
fsWIPTxHist Tx
INNER JOIN
FactoryServerMES.dbo.fsOperation O ON TX.OperationID = O.OperationID
WHERE
customerlotid = SUBSTRING('0',13,1) --<> '5D25984G14120%'
AND (TX.DateCreated BETWEEN '2/28/2017 10:00:00' AND '2/28/2017 10:59:59')
AND (Status = 'Avail')
AND TX.OperationID IN (3100)
GROUP BY
TX.OperationID, FriendlyName
【问题讨论】:
-
WHERE SubString(customerlotid, 13, 2) = '01'不适合您?您是否考虑阅读 SubString 的文档? -
我确实阅读了 MSDN 上的文档。但是,我可能误解了语法。对不起,如果我把时间浪费在简单的东西上。我认为让我感到困惑的是它的表达部分。感谢您的帮助。
标签: sql sql-server syntax