Section courante

A propos

Section administrative du site

 Langage  Installation  Elément  Tutoriel  GUI  Outils  Déployer  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Planification de l'installation
Planification d'une migration
SQL Server 2005 Developer
SQL Server 2008 R2 Developer
SQL Server 2012 Developer
SQL Server 2014 Developer
SQL Server 2016 Developer
SQL Server 2017 Developer
SQL Server 2019 Developer
Type de données élémentaire
Les instructions de boucles
Référence des mots réservés
Référence des instructions
Référence des fonctions
Référence des bases de données systèmes
Référence des tables systèmes
Référence des vues systèmes
Référence des utilisateurs par défaut
Référence des Stored Procedures système
Objets de base du SQL
Gérer les données avec Transact-SQL
Langage de définition de données/Data Definition Language (DDL)
Instructions DML : Instructions INSERT, UPDATE, DELETE et MERGE
Recherche en texte intégral (Full-Text Search)
Prise en charge de JSON dans SQL Server
STORED PROCEDURES
Les opérations
Activer l'intégration de SQL Server de CLR à l'aide de Transact-SQL
Afficher l'historique des requêtes SQL
Afficher tous les index dans une base de données SQL Server
Afficher toutes les tables dans une base de données
Comment identifier les requêtes SQL d'exécution lente dans SQL Server
Exporter la base de données SQL Server dans un fichier SQL
Exporter des tables dans un fichier .SQL avec Microsoft SQL Server Management Studio
Obtenir le nom du serveur et des bases de données dans SQL Server
SQL Server Management Studio (SSMS)
DBeaver
HeidiSQL
Navicat
SQL Server Analytic Services (SSAS)
SQL Server Data Tools (SSDT)
SQL Server Integration Services (SSIS)
SQL Server Reporting Services (SSRS)
sqlcmd
SQL Data Compare (Redgate)
SSIS avec SQL Server Management Studio (SSMS)
SSIS avec Visual Studio 2017
Références des codes d'erreur du SQL Server
Référence de termes et du vocabulaire
Préface
Notes légal
Dictionnaire
Recherche

CONTAINS

Contenu
SQL Server Microsoft SQL Server

Syntaxe

CONTAINS(( { column_name | (column_list) | * | PROPERTY ({ column_name }, 'property_name')}
, 'contains_search_condition'
[ , LANGUAGE language_term ]
)
contains_search_condition ::=
{ simple_term
| prefix_term
| generation_term
| proximity_term
| weighted_term
}
| { ( contains_search_condition )
[ { AND | AND NOT | OR } ]
contains_search_condition [ ...n ]
}
simple_term ::=
word | " phrase "
prefix term ::=
{ "word * " | "phrase *" }
generation_term ::=
FORMSOF ( { INFLECTIONAL | THESAURUS } , simple_term [ ,...n ] )

generic_proximity_term ::=
{ simple_term | prefix_term } { { { NEAR | ~ }
{ simple_term | prefix_term } } [ ...n ] }

custom_proximity_term ::=
NEAR (
{
{ simple_term | prefix_term } [ ,...n ]
|
( { simple_term | prefix_term } [ ,...n ] )
[, maximum_distance [, match_order ] ]
}
)

maximum_distance ::= { integer | MAX }
match_order ::= { TRUE | FALSE }

weighted_term ::=
ISABOUT
( { {
simple_term
| prefix_term
| generation_term
| proximity_term
}
[ WEIGHT ( weight_value ) ]
} [ ,...n ]
)
AND ::=
{ AND | & }
AND NOT ::=
{ AND NOT | & !}
OR ::=
{ OR | | })

Paramètres

Nom Description
column_name Ce paramètre permet d'indiquer le nom d'une colonne indexée en texte intégral de la table spécifiée dans la clause FROM. Les colonnes peuvent être de type char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary ou varbinary(max).
column_list Ce paramètre permet d'indiquer deux colonnes ou plus, séparées par des virgules. Le paramètre column_list doit être entre parenthèses. À moins que le paramètre language_term ne soit spécifié, la langue de toutes les colonnes de column_list doit être la même.
* Ce paramètre permet d'indiquer que la requête recherche toutes les colonnes indexées en texte intégral dans la table spécifiée dans la clause FROM pour la condition de recherche donnée. Les colonnes de la clause CONTAINS doivent provenir d'une seule table comportant un index de recherche en texte intégral. À moins que language_term ne soit spécifié, la langue de toutes les colonnes de la table doit être la même.
PROPERTY(column_name,'property_name') Ce paramètre permet d'indiquer une propriété de document sur laquelle rechercher la condition de recherche spécifiée. S'applique à : SQL Server 2012 (11.x) et versions ultérieures. Pour que la requête renvoie des lignes, property_name doit être spécifié dans la liste des propriétés de recherche de l'index de texte intégral et l'index de texte intégral doit contenir des entrées spécifiques à la propriété pour property_name.
LANGUAGE language_term Ce paramètre permet d'indiquer la langue à utiliser pour la césure des mots, la radicalisation, les extensions et les remplacements de thésaurus, et la suppression des mots parasites (ou les mots vides) dans le cadre de la requête. Ce paramètre est facultatif. Si des documents de langues différentes sont entreposés ensemble sous forme d'objets binaires volumineux (BLOB) dans une seule colonne, l'identificateur de paramètres régionaux (LCID) d'un document donné détermine la langue à utiliser pour indexer son contenu. Lors de l'interrogation d'une telle colonne, la spécification de «LANGUAGE language_term» peut augmenter la probabilité d'une bonne correspondance. Le paramètre language_term peut être spécifié sous la forme d'une chaîne de caractères, d'un entier ou d'une valeur hexadécimale correspondant au LCID d'une langue. Si language_term est spécifié, la langue qu'il représente est appliquée à tous les éléments de la condition de recherche. Si aucune valeur n'est spécifiée, la langue de texte intégral de la colonne est utilisée. Lorsqu'il est spécifié sous forme de chaîne de caractères, language_term correspond à la valeur de la colonne d'alias dans la vue de compatibilité sys.syslanguages (Transact-SQL). La chaîne de caractères doit être entourée de guillemets simples, comme dans 'language_term'. Lorsqu'il est spécifié sous forme d'entier, language_term est le LCID actuel identifiant la langue. Lorsqu'il est spécifié sous forme de valeur hexadécimale, language_term est 0x suivi de la valeur hexadécimale du LCID. La valeur hexadécimale ne doit pas dépasser 8 chiffres, y compris les zéros non significatifs. Si la valeur est au format d'ensemble de caractères codés sur deux octets (DBCS), le SQL Server la convertit en Unicode. Si la langue spécifiée n'est pas valide ou si aucune ressource installée ne correspond à cette langue, SQL Server renvoie une erreur. Pour utiliser les ressources de langage neutre, spécifiez 0x0 comme language_term.
contains_search_condition Ce paramètre permet d'indiquer le texte à rechercher dans column_name et les conditions de correspondance. Le paramètre contains_search_condition est nvarchar. Une conversion implicite se produit lorsqu'un autre type de données caractère est utilisé comme entrée. Les types de données de chaîne volumineux nvarchar(max) et varchar(max) ne peuvent pas être utilisés. Dans l'exemple suivant, la variable @SearchWord, étant définie comme varchar(30), provoque une conversion implicite dans le prédicat CONTAINS.
word Ce paramètre permet d'indiquer une chaîne de caractères sans espaces ni ponctuation.
phrase Ce paramètre permet d'indiquer un ou plusieurs mots avec des espaces entre chaque mot.
simple_term Ce paramètre permet d'indiquer une correspondance pour un mot exact ou une expression. Des exemples de termes simples valides sont «blue berry», blueberry et «Microsoft SQL Server». Les phrases doivent être placées entre guillemets doubles (""). Les mots d'une phrase doivent apparaître dans le même ordre que celui spécifié dans contains_search_condition tel qu'ils apparaissent dans la colonne de la base de données. La recherche de caractères dans le mot ou la phrase n'est pas sensible à la casse. Les mots parasites (ou mots vides) (tels que a, et, ou le) dans les colonnes indexées de texte intégral ne sont pas entreposés dans l'index de texte intégral. Si un mot parasite est utilisé dans une recherche par mot unique, SQL Server renvoie un message d'erreur indiquant que la requête ne contient que des mots parasites. Le SQL Server inclut une liste standard de mots parasites dans le répertoire \Mssql\Binn\FTERef de chaque instance de SQL Server. La ponctuation est ignorée. Par conséquent, CONTAINS(testing, "computer failure") correspond à une ligne avec la valeur "Where is my computer? Failure to find it would be expensive.".
prefix_term Ce paramètre permet d'indiquer une correspondance de mots ou d'expressions commençant par le texte spécifié. Placez un préfixe entre guillemets doubles ("") et ajoutez un astérisque (*) avant le guillemet de fin, de sorte que tout le texte commençant par le terme simple spécifié avant l'astérisque corresponde. La clause doit être spécifiée de la manière suivante : CONTAINS(column, '"text*"'). L'astérisque correspond à zéro, un ou plusieurs caractères (du mot racine ou des mots du mot ou de la phrase). Si le texte et l'astérisque ne sont pas délimités par des guillemets doubles, de sorte que le prédicat indique CONTAINS(column, 'text*'), la recherche de texte intégral considère l'astérisque comme un caractère et recherche les correspondances exactes avec text*. Le moteur de texte intégral ne trouvera pas les mots avec le caractère astérisque (*) car les séparateurs de mots ignorent généralement ces caractères. Lorsque prefix_term est une expression, chaque mot contenu dans l'expression est considéré comme un préfixe distinct. Par conséquent, une requête spécifiant un préfixe "local wine*" correspond à toutes les lignes avec le texte "local winery", "locally wined and dined",...
generation_term Ce paramètre permet d'indiquer une correspondance de mots lorsque les termes simples inclus incluent des variantes du mot d'origine à rechercher.
INFLECTIONAL Ce paramètre permet d'indiquer que le stemmer dépendant de la langue doit être utilisé sur le terme simple spécifié. Le comportement de Stemmer est défini en fonction des règles de radicalisation de chaque langue spécifique. La langue neutre n'a pas de stemmer associé. Le langage de colonne des colonnes interrogées est utilisé pour faire référence au stemmer souhaité. Si language_term est spécifié, le stemmer correspondant à cette langue est utilisé. Un simple_term donné dans un generation_term ne correspondra pas à la fois aux noms et aux verbes.
THESAURUS Ce paramètre permet d'indiquer que le thésaurus correspondant à la langue de texte intégral de la colonne ou la langue spécifiée dans la requête est utilisé. Le ou les modèles les plus longs du simple_term sont mis en correspondance avec le thésaurus et des termes supplémentaires sont générés pour développer ou remplacer le modèle d'origine. Si aucune correspondance n'est trouvée pour tout ou partie du simple_term, la partie non correspondante est traitée comme un simple_term.
generic_proximity_term Ce paramètre permet d'indiquer une correspondance de mots ou d'expressions devant figurer dans le document recherché. Cette fonctionnalité sera supprimée dans une future version de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications utilisant actuellement cette fonctionnalité. Il est recommandez d'utiliser custom_proximity_term.
NEAR | ~ Ce paramètre permet d'indiquer que le mot ou la phrase de chaque côté de l'opérateur NEAR ou ~ doit apparaître dans un document pour qu'une correspondance soit renvoyée. Vous devez spécifier deux termes de recherche. Un terme de recherche donné peut être soit un mot unique, soit une phrase délimitée par des guillemets doubles ("phrase"). Plusieurs termes de proximité peuvent être chaînés, comme dans «a NEAR b NEAR c or a ~ b ~ c». Les termes de proximité chaînés doivent tous figurer dans le document pour qu'une correspondance soit renvoyée. Par exemple, «CONTAINS(*column_name*, 'fox NEAR chicken')» et «CONTAINSTABLE(*table_name*, *column_name*, 'fox ~ chicken')» renvoient tous les documents dans la colonne spécifiée contenant à la fois "fox" et "chicken". De plus, CONTAINSTABLE renvoie un rang pour chaque document en fonction de la proximité de "fox" et "chicken". Par exemple, si un document contient la phrase "The fox ate the chicken,", son classement sera élevé car les termes sont plus proches les uns des autres que dans d'autres documents.
custom_proximity_term Ce paramètre permet d'indiquer une correspondance de mots ou d'expressions, et éventuellement, la distance maximale autorisée entre les termes de recherche. Ce paramètre custom_proximity_term s'applique à SQL Server 2012 (11.x) et versions ultérieures. Vous pouvez également spécifier que les termes de recherche doivent être trouvés dans l'ordre exact dans lequel vous les spécifiez (match_order). Un terme de recherche donné peut être soit un mot unique, soit une phrase délimitée par des guillemets doubles ("phrase"). Chaque terme spécifié doit figurer dans le document pour qu'une correspondance soit renvoyée. Vous devez spécifier au moins deux termes de recherche. Le nombre maximum de termes de recherche est de 64. Par défaut, le terme de proximité personnalisé renvoie toutes les lignes contenant les termes spécifiés, quelle que soit la distance intermédiaire et quel que soit leur ordre.
maximum_distance Ce paramètre permet d'indiquer la distance maximale autorisée entre les termes de recherche au début et à la fin d'une chaîne de caractères pour que cette chaîne soit considérée comme une correspondance.
integer Ce paramètre permet d'indiquer un entier positif compris entre 0 et 4294967295. Cette valeur contrôle le nombre de termes non liés à la recherche pouvant apparaître entre le premier et le dernier terme de recherche, à l'exclusion de tout terme de recherche spécifié supplémentaire.
MAX Ce paramètre permet de retourner toutes les lignes contenant les termes spécifiés, quelle que soit la distance les séparant. C'est la valeur par défaut.
match_order Ce paramètre permet d'indiquer si les termes doivent apparaître dans l'ordre spécifié pour être renvoyés par une requête de recherche. Pour spécifier match_order, vous devez également spécifier maximum_distance. Le paramètre match_order prend l'une des valeurs suivantes :
Valeur Description
TRUE Ce paramètre permet d'appliquer l'ordre spécifié dans les termes. Par exemple, NEAR(A,B) ne correspondrait qu'à A ... B.
FALSE Ce paramètre permet d'ignorer l'ordre spécifié. Par exemple, NEAR(A,B) correspondrait à la fois à A ... B et B ... A. C'est la valeur par défaut.
weighted_term Ce paramètre permet d'indiquer que les lignes correspondantes (renvoyées par la requête) correspondent à une liste de mots et d'expressions, chacun ayant éventuellement une valeur de pondération.
ISABOUT Ce paramètre permet d'indiquer le mot clef weighted_term.
WEIGHT(weight_value) Ce paramètre permet d'indiquer une valeur de pondération, étant un nombre compris entre 0,0 et 1,0. Chaque composante de weighted_term peut inclure un weight_value. Le paramètre weight_value est un moyen de modifier la façon dont diverses parties d'une requête affectent la valeur de classement attribuée à chaque ligne correspondant à la requête. WEIGHT n'affecte pas les résultats des requêtes CONTAINS, mais WEIGHT a un impact sur le classement dans les requêtes CONTAINSTABLE.
{ AND | & } | { AND NOT | &! } | { OR | | } Ce paramètre permet d'indiquer une opération logique entre deux contient des conditions de recherche.
{ AND | & } Ce paramètre permet d'indiquer que les deux conditions de recherche contient doivent être remplies pour une correspondance. Le symbole esperluette (&) peut être utilisé à la place du mot clef AND pour représenter l'opérateur AND.
{ AND NOT | &! } Ce paramètre permet d'indiquer que la deuxième condition de recherche ne doit pas être présente pour une correspondance. L'esperluette suivie du symbole de point d'exclamation (&!) peut être utilisée à la place du mot clef AND NOT pour représenter l'opérateur AND NOT.
{ OR | | } Ce paramètre permet d'indiquer que l'une des deux conditions de recherche contient doit être remplie pour une correspondance. Le symbole de la barre (|) peut être utilisé à la place du mot clef OR pour représenter l'opérateur OR. Lorsque contains_search_condition contient des groupes entre parenthèses, ces groupes entre parenthèses sont évalués en premier. Après avoir évalué les groupes entre parenthèses, ces règles s'appliquent lors de l'utilisation de ces opérateurs logiques avec des conditions de recherche contient : NOT est appliqué avant AND. NOT ne peut se produire qu'après AND, comme dans AND NOT. L'opérateur OR NOT n'est pas autorisé. NOT ne peut pas être spécifié avant le premier terme. Par exemple, CONTAINS (mycolumn, 'NOT "phrase_to_search_for" ' ) n'est pas valide. AND est appliqué avant OR. Les opérateurs booléens de même type (AND, OR) sont associatifs et peuvent donc être appliqués dans n'importe quel ordre.
n Ce paramètre permet d'indiquer un espace réservé spécifiant que plusieurs conditions de recherche CONTAINS et les termes qu'elles contiennent.

Description

Cette fonction permet d'effectuer des recherches dans certaines colonnes de chaîne de caractères.

Remarques

Voir également

Articles - Les géants de l'informatique - Microsoft

PARTAGER CETTE PAGE SUR
Dernière mise à jour : Dimanche, le 7 juin 2015