我有一個sql查詢,我需要刪除特定的行,基於查詢中生成的varchar中的倒數第三個數字。該查詢以格式「yyyy-MM-dd hh:mm:ss」採用小日期時間並將其轉換爲varchar。例如:日期「2015-05-04 06:03:00」將成爲varchar 05040603.我需要刪除第三個到最後一個varchar數字是9,1,4或0的任何行項目。以下是我的當前代碼:基於字符串中的字符從查詢中刪除行項目sql
SELECT DISTINCT
RIGHT('0' + CAST(DATEPART(M, TableA.DateTime) AS varchar), 2)
+ RIGHT ('0' + Cast(DATEPART(DD, TableA.DateTime) AS varchar), 2)
+ RIGHT('0' + CAST(DATEPART(HH, TableA.DateTime) AS varchar), 2)
+ RIGHT('0' + CAST(DATEPART(MINUTE, TableA.DateTime) AS varchar), 2) AS 'VarChar Number',
ColA, DateTime
FROM
TableA
WHERE
ColB IS NOT NULL
AND DateTime NOT IN (SELECT DateTime From TableB)
AND DateTime NOT IN (SELECT DateTime From tableC
WHERE DateTime IS NOT NULL)
在這個例子中的表A具有我的小日期時間和正在從它產生的varchar
數。 ColA來自表A並且僅僅是信息。 Where語句只是將日期時間與其他表進行比較,以便根據日期是否已經出現在這些表中來將其刪除。
您正在使用哪種類型的SQL?微軟,Oracle,PostgreSQL,MySQL? –
Microsoft,特別是SQL Server Management Studio。但是,我將把代碼放入vb.net程序並使用它填充datagridview。 – Cheddar