Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 按姓、名和名进行全文搜索_Sql Server_View_Full Text Search - Fatal编程技术网

Sql server 按姓、名和名进行全文搜索

Sql server 按姓、名和名进行全文搜索,sql-server,view,full-text-search,Sql Server,View,Full Text Search,您好,我使用的是SQL Server,我想在follow表中进行全文搜索 CREATE TABLE Students ( id int PRIMARY KEY IDENTITY, firstName varchar(MAX) NOT NULL CHECK (firstName != ''), secondName varchar(MAX) NULL CHECK (secondName != ''), lastName varchar(MAX) NOT NULL C

您好,我使用的是SQL Server,我想在follow表中进行全文搜索

CREATE TABLE Students
(
    id int PRIMARY KEY IDENTITY,
    firstName varchar(MAX) NOT NULL CHECK (firstName != ''),
    secondName varchar(MAX) NULL CHECK (secondName != ''),
    lastName varchar(MAX) NOT NULL CHECK (lastName != ''),
    birthDate datetime2 NOT NULL CHECK (birthDate >= '1.01.1990'),
    recordBookNumber int NOT NULL UNIQUE CHECK (recordBookNumber > 0),
    enrollmentDate datetime2 NOT NULL CHECK (enrollmentDate >= '1.01.1990'),
    groupId int NOT NULL FOREIGN KEY REFERENCES [Groups](id) ON DELETE CASCADE
)
所以我创建了视图StudentsSearchView、聚集索引、全文目录和全文索引

全文索引如下:

CREATE FULLTEXT INDEX ON
    dbo.StudentsSearchView (
        firstName LANGUAGE 1033,
        secondName LANGUAGE 1033,
        lastName LANGUAGE 1033
    )
KEY INDEX IDX_SEARCH ON ftCatalog
WITH (
    CHANGE_TRACKING = AUTO, 
    STOPLIST = SYSTEM
)
所以我有一个文本框,在这里我输入像“John Peter Smith”这样的字符串,我想得到所有的信息 匹配,但我无法确定需要使用什么查询。我试试这个

SELECT * FROM
    dbo.StudentsSearchView
WHERE CONTAINS (
    *, '"LastName*" & "FirstName*" & "SecondName*"'
)
SELECT * FROM
    dbo.StudentsSearchView
WHERE CONTAINS (
    *, '"LastName*" & "FirstName*" & "SecondName*"'
)
但是什么也没找到,虽然我已经在这一行的表格里了


p.S.LastName、FirstName和SecondName将以编程方式插入。我的错误是观点。是的

CREATE VIEW
    dbo.StudentsSearchView WITH SCHEMABINDING
AS
SELECT
    id, firstName, secondName, lastName
FROM
    dbo.Students
GO
但它必须是这样的:

CREATE VIEW
    dbo.StudentsSearchView (id, Fio) WITH SCHEMABINDING
AS
SELECT
    id, firstName + ' ' + ISNULL(secondName, '') + ' ' + lastName
FROM
    dbo.Students
GO
所以,现在这个Select查询起作用了