高分征解SQL语言问题

zhoumingyang 2003-05-08 01:56:10
各位高手:
  在程序开发中我遇到一个这样的问题,在使用SQL进行文档的内容检索时,想检索内容包含"[2002]"字样的数据,但是方括号是做为SQL的保留关键字的,我想问的是,在SQL中如果想要对包含方括号的字符串进行处理时,应该怎样办?以下是一个例子:
  有一个MDB数据库test.mdb,其中有一个字段的名称是file_num,主要的内容是公文的文号,如“省府发[2002]第123号”,在程序中我想想检索出所有的在file_num字段中包含有“[2002]”的记录,使用下面的语言:
SELECT *
FROM test
WHERE (file_num LIKE '%[2002]%')
肯定是错的,请问应该使用什么样的语句来实现对方括号的检索????
...全文
6 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhoumingyang 2003-05-09
谢谢高手指点。你你的答复对我的帮助很大,在此一并散分。
回复
yibotiemen 2003-05-08
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[gongwen]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[gongwen]
GO

CREATE TABLE [dbo].[gongwen] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[code] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

insert into gongwen(code)values(N'浙本地字[2002]国家专用号码')
SELECT *
FROM table
WHERE file_num LIKE '%[[]2002]%'---这个可以
SELECT *
FROM table
WHERE file_num LIKE '%[2002]%'---这个也可以


我的是sql server2000
回复
happydreamer 2003-05-08
SELECT *
FROM table
WHERE file_num LIKE '%[[]2002]%'
回复
yoki 2003-05-08
LIKE '[ [ ]' 表示 [
LIKE ']' 表示 ]
回复
pengdali 2003-05-08
declare @a varchar(100)
set @a='aaa[2002]bbb'

SELECT @a
FROM sysobjects
WHERE (@a LIKE '%[2002]%')

--不是对的吗?
回复
Rewiah 2003-05-08
SELECT *
FROM test
WHERE (file_num LIKE '%[[]2002]%')
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-08 01:56
社区公告
暂无公告