gpt4 book ai didi

c# - 如何查询每个字符的首字母?

转载 作者:行者123 更新时间:2023-12-03 18:51:39 28 4
gpt4 key购买 nike

我有一个包含三列的表:名字,中间名,姓氏。现在,当我键入每个字符的第一个字母时,查询必须正确返回结果。

示例:我的数据库有一条记录:



当我按如下方式键入输入字符串(仅是粗体字符串)时,返回的结果必须具有记录:

**n** or
**n k** or
**n p** or
**k p** or
**n k p**


我使用SQLite,目前我还没有任何想法。
你能给我一个建议吗?

最佳答案

您可以使用通配符%来匹配任何字符串/字符和LIKE语句。

例如,以“ N”开头的名字是:

SELECT * FROM yourTable WHERE FirstName LIKE 'N%'


对于名字和姓氏,它将是:

SELECT * FROM yourTable WHERE FirstName LIKE 'N%' or LastName LIKE 'P%'


更新:

而且,如果您不确定输入的是名字,中间名还是姓氏,则可以在多个字段中进行输入,例如:

SELECT * FROM yourTable 
WHERE FirstName LIKE 'N%' or MiddleName LIKE 'N%' or LastName LIKE 'N%'


并且如果有多个字母(例如两个字母),它将变得有点疯狂:

SELECT * FROM yourTable 
WHERE FirstName LIKE 'N%' or MiddleName LIKE 'N%' or LastName LIKE 'N%'
or FirstName LIKE 'P%' or MiddleName LIKE 'P%' or LastName LIKE 'P%'


但是使用上面的解决方案不是很好。因此,最好允许用户执行以下任一操作:


输入每个名称的字母,即根据需要输入姓氏,名字和中间名的字母
只需输入一个字母(或者当然是一个字符串),然后从名字,姓氏和中间名中搜索即可。


对于选项1,您查询的内容如下所示:

SELECT * FROM yourTable 
WHERE FirstName LIKE 'N%' or MiddleName LIKE 'K%' or LastName LIKE 'P%'


对于选项2,您查询的内容如下所示:

SELECT * FROM yourTable 
WHERE FirstName LIKE 'N%' or MiddleName LIKE 'N%' or LastName LIKE 'N%'


或者,如果它是字符串,则可能看起来像这样:

SELECT * FROM yourTable 
WHERE FirstName LIKE 'Ngu%' or MiddleName LIKE 'Ngu%' or LastName LIKE 'Ngu%'


换句话说,控制用户的输入方式,并给他/她留出一点可能的错误的空间,更不用说混乱了。

关于c# - 如何查询每个字符的首字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24901890/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com