2017-03-02 12 views
1

私たちのデータベースからいくつかの情報を取得しようとしています。特にシリアル番号。私はこれを行うには、SUBSTRING関数を利用する必要がありますが、私は本当に立ち往生しています。私はすべてのシリアル番号を取得する必要があります13番目の数字は0と14番目の数字は1です。シリアル番号はいつでも変更することができるので、私はCustomerLotIDの13番目の数字の0と14番目の数字の列をチェックすると思ったが、これを行ういくつかの問題があります。 select文の後の1,2、 '2/28/2017'はテスト専用です。SQL Server:SUBSTRING from column

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 
+3

'WHERE SUBSTRING(customerlotid、13、2)=「01''あなたのために動作しませんか? SubStringのドキュメントを読むことを検討しましたか? –

+0

私はMSDNのドキュメントを読んだ。しかし、私は構文を誤解しているかもしれません。私は単純なもののために時間を無駄にして申し訳ありません。私は混乱したものがその表現の一部だと思う。ご協力いただきありがとうございます。 – TAdams79

答えて

2

これを試してみてください:

WHERE SUBSTRING(customerlotid ,13,2) = '01' 
+1

これはうまくいきました、あなたの助けに感謝します。 – TAdams79