我喜欢使用SQL Server 2005模板来运行常用查询。您可以使用以下语法在模板中包含参数:
<LastName, varchar, 'Bob'>
我的查询需要小于或等于运算符&lt; = ,但遗憾的是SQL Server 2005模板将其解释为参数的开头。我一直无法找到使用&lt; (小于字符)作为文字的方法。
答案 0 :(得分:3)
当我指定模板参数的值时,这对我运行正常:
select * from <xyz, varchar,YourTable> WHERE ID<=1000 AND ID>=20000
也许你没有每个参数的“&lt;”和“&gt;”配对得好
编辑我现在看到了问题:
SELECT * FROM <xyz, varchar,YourTable> WHERE ID<=1000 AND ID>=20000 AND <xyz2,varchar,YourColumn> IS NOT NULL
结果:
SELECT * FROM YourTable WHERE IDYourColumn IS NOT NULL
尝试制作“&lt;”将字符转换为参数,如下所示:
SELECT * FROM <xyz, varchar,YourTable> WHERE ID<lessthan,char,<>=1000
AND ID>=20000 AND <<xyz2,varchar,YourColumn> IS NOT NULL
导致:
SELECT * FROM YourTable WHERE ID<=1000
AND ID>=20000 AND YourColumn IS NOT NULL
OR分割线条,换行符似乎有所不同:
SELECT * FROM <xyz, varchar,YourTable> WHERE ID<=1000 AND ID>=20000
AND <xyz2,varchar,YourColumn> IS NOT NULL
结果:
SELECT * FROM YourTable WHERE ID<=1000 AND ID>=20000
AND YourColumn IS NOT NULL
答案 1 :(得分:0)
使用模板
select top 10 * from syscolumns
where <xtype, varchar(128), xtype <= 60>
如果您选择(菜单)查询&gt;指定模板参数的值,替换的默认值为“xtype&lt; = 60”,这是正确的,并且在替换时,生成的查询文本为
select top 10 * from syscolumns
where xtype <= 60
这正是人们所期望的。换句话说,“&lt;”似乎并非如此。符号需要逃脱。但是,“&gt;”问题更多:
select top 10 * from syscolumns
where <xtype, varchar(128), xtype >= 60>
打开“指定值”对话框时,这将失败。但是,在这种情况下,可以指定
select top 10 * from syscolumns
where <xtype, varchar(128), value>
并输入
xtype >= 60
在“值”字段中进行替换。这会产生
select top 10 * from syscolumns
where xtype >= 60
这也是人们所期待的。因此,替换的默认值似乎不包含“&gt;”。