OleDb正则表达式

时间:2015-02-15 13:09:44

标签: regex excel oledb

我要做的是选择所有年份以19或20年开头的行,即1997年或2010年,其他标准可以正常工作,即我%。我使用[F1]像'%19%'或[F1]喜欢'%20%',但它并不理想,因为它选择像L319这样的东西。我想知道是否有人知道更好的方法吗?

OleDbDataAdapter da = new OleDbDataAdapter(“选择[F1],[F3],[F4],[f5]来自[Sheet1 $],其中[F1]喜欢'MY%'或[F1]喜欢'%19%'或[F1]如'%20%'和(([F3]<>'')和([F3]<>'TBC'))“,conn);

由于

2 个答案:

答案 0 :(得分:0)

删除前导%符号:

OleDbDataAdapter da = new OleDbDataAdapter("Select [F1],[F3],[F4],[f5] From 
[Sheet1$] where [F1] like 'MY%' or [F1] like '19%' or [F1] like '20%' and     
(([F3] <> '') and ([F3] <> 'TBC'))", conn);

答案 1 :(得分:0)

您应该可以使用YEAR功能。以下是几个例子。

... WHERE YEAR([F1])>1899 AND [F3] <> '' AND [F3] <> 'TBC';

......或,

... WHERE RIGHT(YEAR([F1]), 2) IN ('19', '20') AND [F3] <> '' AND [F3] <> 'TBC';

我不完全理解像 L319 这样的东西会是什么。如果您需要进一步的帮助,也许您可​​以编辑您的问题以包含样本数据。