Sql server 2008 r2 冒号的用途

Sql server 2008 r2 冒号的用途,sql-server-2008-r2,colon,Sql Server 2008 R2,Colon,我的同事写了这个SQL语句,我很难理解它。在where子句中使用冒号的确切目的是什么 WHERE MGM_YYMM like :AS_YYMM 完整查询: SELECT A.MGM_YYMM, A.MGM_DATE, A.MGM_GB, A.INDATE, A.SUDATE, A.EMPNUM, FROM SE_MAGAM A(NOLOCK) WHERE MGM_YYMM like :AS_YYMM ORDER

我的同事写了这个SQL语句,我很难理解它。在where子句中使用冒号的确切目的是什么

WHERE MGM_YYMM like :AS_YYMM
完整查询:

SELECT  A.MGM_YYMM,
        A.MGM_DATE,
        A.MGM_GB,
        A.INDATE,
        A.SUDATE,
        A.EMPNUM,
FROM  SE_MAGAM A(NOLOCK)
WHERE MGM_YYMM like :AS_YYMM
ORDER BY MGM_YYMM DESC
它是一个绑定变量

程序(或发出查询的任何其他程序)将为:AS_YYMM分配一个值,在本例中是与MGM_YYMM列匹配的模式

这些参数化查询非常有用,因为它们可以准备/解析/编译/分析一次,然后针对不同的输入运行多次,从而减少开销(与每次新查询相比)。还有助于防止SQL注入(与从用户输入构建动态SQL语句相比)