SQL中的列名上加中括号是为了防止某些关键字在应用中引起歧义,如果加上中括号,则代表这是一个列名,而不是关键字。
如:
表中有一个字段叫select,而select是SQL中的一个关键字,如果直接写作:
select select from 表名那么语句是会报错的。
如果加上中括号,数据库则能识别:
select [select] from 表名另外:不仅列名可加中括号,包括表名,存储过程名,函数名等都可以按需要加中括号。
不用替换掉,使用转译字符[]就能解决问题,比如*是access中的【与任何个数的字符匹配的通配符】如果数据中含有它,查询的时候用下面的语句就ok了:如:
select XXXX from XXXX where字段 like '*[*]*'
说明:
第一个*代表任意个字符,第二个被[]括起来的*就代表字符*,第三个*代表任意个字符。合起来就是查找字段中含有字符*的数据,假如有"asdasd*casd" 这样的数据就能被查出来了,[[],[]]都是一个道理,总之你想转译什么就在外面用[]括起来就是了。
---
以上,希望对你有所帮助。
当然不可以去掉,中括号是传进来的SQL参数值,就是表列名,这个存储过程是自动计算某个字段的数量用的,COUNT([传进来的表列名]).from([传进来的表名字]).如果传进来的表里不包含传进来的表列名会报错这些字段都是你调用时传进来的值,不用你 *** 心,如果你没不传进来或少传一个参数,或传参错误这个存储过程都不会执行.因为有SET NOCOUNT ON ,如果没有数据就不会被执行,如果有数据先清空再进行相应的 *** 作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)