高分征解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]%')
肯定是错的,请问应该使用什么样的语句来实现对方括号的检索????
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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]%')

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧