用''来表示'
上面可以用
insert into 表名(a,b,c)values('''','fdsa','fdas')
上面可以用
insert into 表名(a,b,c)values('''','fdsa','fdas')
解决方案 »
- MSSQL存储过程问题(like语句问题)
- 有關於 DBCC 是到底如何用,什麼情況用 ??
- 行列转换,动态的实现,表的名称和字段都是动态的,上面的条件也是动态的????
- SQL字符串的问题 想不出来了
- sql server内置名太多,起名字总是冲突,该如何解决
- 讨论----大家一般什么时候用自增列做主键,什么时候用日期加N位随机数做主键
- 有谁帮我看看这一段自动交叉表生成器,有什么问题;提示第一行,#附近语法有问题!!
- 在oralce中这个视图怎么写?
- pb中如何用OLEDB连接SQL SERVER数据库
- 请问个备份文件大小的问题,谢谢!
- 我想问一下自连接是怎么一回事~?
- 修改口令问题?2004第一问题。
符合所有标识符格式规则的标识符可以使用分隔符,也可以不使用分隔符。不符合标识符格式规则的标识符必须使用分隔符。分隔标识符在下列情况下使用: 当在对象名称或对象名称的组成部分中使用保留字时。
推荐不要使用保留关键字作为对象名称。从 Microsoft® SQL Server™ 早期版本升级的数据库可能含有标识符,这些标识符包括早期版本中未保留而在 SQL Server 2000 中保留的字。可用分隔标识符引用对象直到可改变其名称。当使用未被列为合法标识符的字符时。
SQL Server 允许在分隔标识符中使用当前代码页中的任何字符。但是,不加选择地在对象名称中使用特殊字符将使 SQL 语句和脚本难以阅读和维护。Transact-SQL 所使用的分隔符类型:说明 分隔符仅用于标识符。分隔符不能用于关键字,不论它们在 SQL Server 中是否被标记为保留字。被引用的标识符用双引号 (") 分隔开:
SELECT * FROM "Blanks in Table Name"括在括号中的标识符用方括号 ([ ]) 分隔:
SELECT * FROM [Blanks In Table Name]仅当 QUOTED_IDENTIFIER 选项设置为 ON 时,被引用的标识符才有效。默认情况下,当用于 SQL Server 的 Microsoft OLE DB 提供程序和 SQL Server ODBC 驱动程序连接时,将 QUOTED_IDENTIFIER 设置为 ON。默认情况下,DB-Library 不将 QUOTED_IDENTIFIER 设置为 ON。不管使用何种接口,个别应用程序或用户可随时更改设置。SQL Server 提供了多种方法来指定该选项。例如,在 SQL Server 企业管理器和 SQL 查询分析器中,该选项可在对话中设置。在 Transact-SQL 中,可以使用 SET QUOTED_IDENTIFIER、sp_dboption 的 quoted identifier 选项或 sp_configure 的 user options 选项将此选项设为多种级别。当 QUOTED_IDENTIFIER 为 ON 时,对于 SQL 语句中的双引号和单引号 (') 的使用,SQL Server 遵循 SQL-92 规则: 双引号只能用于分隔标识符,不能用于分隔字符串。
为保持与现有应用程序的兼容性,SQL Server 并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。但不建议这样做。单引号必须用来包含字符串,不能用于分隔标识符。
如果字符串包含单引号,则需要在单引号前再增加一个单引号:SELECT * FROM "My Table"
WHERE "Last Name" = 'O''Brien'当 QUOTED_IDENTIFIER 为 OFF 时,对于双引号和单引号的使用,SQL Server 遵循如下规则: 引号不能用于分隔标识符,而是用括号作为分隔符。
单引号或双引号可用于包含字符串。
如果使用双引号,嵌入的单引号不需要用两个单引号来表示:SELECT * FROM [My Table]
WHERE [Last Name] = "O'Brien"无论 QUOTED_IDENTIFIER 的设置如何,都可以在括号中使用分隔符。分隔标识符规则
分隔标识符的格式规则是: 分隔标识符可以包含与常规标识符相同的字符数(1 到 128 个,不包括分隔符字符)。本地临时表标识符最多可以包含 116 个字符。
标识符的主体可以包含当前代码页内字母(分隔符本身除外)的任意组合。例如,分隔符标识符可以包含空格、对常规标识符有效的任何字符以及下列任何字符:
如:
表table1中字段B有值'name%name' 和'namename' 要查name%name的记录
用select B from table1 where B like 'name%name'
得到
B
------------------------------
name%name
namename用select B from table1 where B like 'name!%%name' escape '!' --注意escape定义!
就可以真正得到name%name
B
------------------------------
如:
表table1中字段B有值'name%name' 和'namename' 要查name%name的记录
用select B from table1 where B like 'name%name'
得到
B
------------------------------
name%name
namename用select B from table1 where B like 'name!%%name' escape '!' --注意escape定义!
就可以真正得到name%name
B
------------------------------
name%name