再做搜索引擎的时候遇到这样一个麻烦!。。
一篇文章比如说是:
SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。
里面的关键字是 :数据库管理系统 , 操作系统
我只想把含数据库管理系统 和操作系统 的那一句话提取出来! 怎么实现????????记住 是含我的关键字的那一句话提取出来哦!.....
一篇文章比如说是:
SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。
里面的关键字是 :数据库管理系统 , 操作系统
我只想把含数据库管理系统 和操作系统 的那一句话提取出来! 怎么实现????????记住 是含我的关键字的那一句话提取出来哦!.....
substring(str,charindex(N'数据库管理系统',str) + 8,charindex(N'操作系统',str) - 4)
复杂的逻辑处理可考虑在程序中完成为宜,如String类型的split方法.
何不找.NET里现成的函数呢,另:据说MSSQL还可以引用外部DLL的,没试过.
--提取中文
IF OBJECT_ID('DBO.CHINA_STR') IS NOT NULL
DROP FUNCTION DBO.CHINA_STR
GO
CREATE FUNCTION DBO.CHINA_STR(@S NVARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^吖-座]%',@S) > 0
SET @S = STUFF(@S,PATINDEX('%[^吖-座]%',@S),1,N'')
RETURN @S
END
GO
PRINT DBO.CHINA_STR('呵呵ABC123ABC')
GO
--------------------------------------------------------------------