2010-11-17 11 views
0

Je regarde une déclaration sql qui ressemble à ceci:Que signifie ": 1", ": 2" dans SQL?

... 
AND col2_.col_date >= :1 
AND col2_.col_date <= :2 
... 

et je ne sais pas ce que: 1 et: 2 ne ??

Quelqu'un peut-il me éclairer,

Merci, :)

+0

"Quel SQL"? Je devine des tenants de place de toutes sortes. –

+0

double possible de [Qu'est-ce que le signe deux-points « : » faire dans une requête SQL] (http://stackoverflow.com/questions/2177978/what-does-the-colon-sign-do-in-a-sql -query) –

+0

postgres sql, de sorte que les places peuvent être en nombre? – Aion

Répondre

10

Ils sont des espaces réservés dans une requête paramétrée, en attendant que le programme de venir et de fournir les paramètres.

+0

Dans quel contexte? –

2

Il y a des paramètres, spécifiés lors de l'exécution de la requête - plutôt que d'avoir la date sous forme de texte directement dans la requête, ils sont injectés paramètres lorsque la requête est exécutée. Ce que vous voyez sont les premier et deuxième espaces réservés ... la syntaxe varie entre les serveurs et les fournisseurs. Par exemple, parfois, vous les verrez noms au lieu des numéros, etc.

+0

Dans quel contexte? –

+2

@pst - Pouvez-vous clarifier votre question? –

1

Ce sont des espaces réservés, mais pas dans SQL, seulement dans votre langage de programmation qui construit la chaîne SQL. Dans SQL (PostgreSQL de toute façon), vous devez utiliser des espaces réservés numérotés de 1 $, 2 $, etc. Vérifiez le manuel PostgreSQL pour PREPARE ou le manuel PHP pour pg_query_params().