我在 c# winform 中有一个蒙面的文本框。
掩蔽就像
- (two numbers on the front and 4 number on the right after the dash).
for ex: 12-3456
还有更多的排列,例如
- (3 spaces on the front and 5 on the right)
for ex: 123-34567
当用户键入 123-34567 时,select sql 查询应该只返回
123-34567
当用户键入 12-3456 时,select sql 查询应该只返回
12-3456
当用户键入 - 时,select sql 查询应该只返回
12-3456(即输入两个空格)
当用户键入 - 时,select sql 查询应该只返回
123-34567(即输入三个空格)
换句话说,用户可以在不输入任何内容的情况下进行搜索,并且只有启用掩码的文本框和搜索(空 - 空) - 只有破折号掩码,在掩码上键入数字并搜索(例如:12-)。
正在使用的查询是
select column1,column2 from table1 where column2 like '%__-%';
(下划线是动态计算的)我如何在任何其他最佳方法中得到这个(比如在单个查询中)?
考虑这个 table1 并在数据库中有一个列“MaskedInfo”。
Table1:
MaskedInfo
1234567
12-34567
123-4567
123-45678
用户可以键入任何内容进行搜索,例如 12-34567 或 123-4567 或只是 1234567,如果文本框为空,则将所有内容加载到结果中。