一、介绍
最近csdn论坛有人问我这样一个问题,说有一篇文章存在数据库中,然后有三个关键词,说是存取文章信息的时候,返回关键词的个数。故有此文。以供大家参考。
二、sql语句
DECLARE @article varchar(4000),
@keyword_One varchar(300),
@keyword_Two varchar(300),
@keyword_Three varchar(300)
--文章内容
SET @article ='2008年普通高校招生全国统一考试将于月、日举行,山东、上海、江苏、广东、海南等省市因考试科目设置不同,考试时间延长到日结束。四川省灾区的六市州个县(市、区)和甘肃省灾区的两市州的个县(市、区)延期举行高考,延期高考的时间将在正常高考结束后及时向社会公布。今年高考是在全国人民万众一心抗震救灾当中进行的,切实做好今年高考有关工作具有特殊意义。国务院领导高度重视,多次指示要求有关部门密切配合,通力合作,确保今年高考万无一失。教育部、公安部等部委和各地相关部门均采取了一系列措施,进一步加强了今年高考的各项具体工作。
这些措施包括一是采取严厉措施维护考风考纪,严厉打击无线设备考试。为了维护良好的考风考纪和考试公正,今年各地继续组织考生签定“诚信高考协议书”,并开展以“诚实守信”为主题的教育活动,同时将加大对、替考等违规行为的处罚力度:对在今年高考中有严重违规行为(如利用通讯工具、替考等)的考生,将取消其当年全国统考各科成绩,同时下一年度不得报名参加全国统考;高中在校非应届毕业生参加高考,不仅取消其当年各科成绩还将给予其应届毕业当年不得报名参加全国统考的处理;在校大学生参与替考,取消其当年全国统考各科成绩,并由其所在高校按照普通高校学生管理规定严肃处理,情节严重的给予开除学籍处分;对虚报、隐瞒或伪造、涂改有关材料及其他欺诈手段,或者因招生工作人员或其他人员的徇私舞弊行为取得考试资格或录取资格的考生,取消其当年的考试资格或录取资格。
'
SET @keyword_One ='考试'
SET @keyword_Two ='考纪'
SET @keyword_Three='考风'
--查看关键词的个数
select
( LEN( @article ) - LEN( replace( @article, @keyword_One,'' ) ) ) / LEN( @keyword_One ) AS 考试出现的次数,
( LEN( @article ) - LEN( replace( @article, @keyword_Two,'' ) ) ) / LEN( @keyword_Two ) AS 考纪出现的次数,
( LEN( @article ) - LEN( replace( @article, @keyword_Three,'' ) ) ) / LEN( @keyword_Three ) AS 考风出现的次数
/*结果
考试出现的次数 考纪出现的次数 考风出现的次数
----------- ----------- -----------
7 2 2
*/
三、改写成sql函数
/*求第一个字符串中第二个字符串的个数*/
create FUNCTION [dbo].[m_sqlcount]
(
@Str_One nvarchar(200),
@Str_Two nvarchar(200)
)
RETURNS int AS
BEGIN
DECLARE @sqlcount int
select @sqlcount=
( LEN( @Str_One ) - LEN( replace( @Str_One, @Str_Two,'' ) ) ) / LEN( @Str_Two)
RETURN @sqlcount
END
/*使用示例
SELECT dbo.[m_sqlcount]('如果这一切都是真的,我真的无法接受','真')
*/
© 【叶子】http://blog.csdn.net/maco_wang 原创作品,转贴请注明作者和出处,留此信息。
分享到:
相关推荐
21. **GROUP BY语句**:在SQL查询中,GROUP BY语句用于根据一个或多个字段对数据进行分组。 22. **主窗体和子窗体**:在Access中,主窗体内的窗体被称为子窗体。 23. **数据库设计目的的对象**:在Access数据库中...
根据提供的文档信息,我们可以总结出以下关键...- **解释**: MySQL客户端提供了交互式环境,允许用户直接编写和执行SQL语句,以查询、更新或管理数据库中的数据。 以上是对给定文档内容中关键知识点的详细解释和说明。
- **详细解释**:在满二叉树中,叶子节点的数量等于 2^(深度-1),因此在深度为 5 的满二叉树中,叶子结点的个数为 2^(5-1)=16。答案是 16。 ### 22. Word 表格操作 - **知识点**:Word 中的表格操作。 - **详细...
数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询) 数据控制语言Data Controlling Language(DCL),用来...
- **解析**: 正确的SQL语句是**B. SELECT * FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 学生选课)**。这条语句的意思是从“学生”表中选择那些没有出现在“学生选课”表中的学生记录。 - **扩展**: `NOT IN`...
- **题目**: 在深度为5的满二叉树中,叶子结点的个数是多少? - A. 32 - B. 31 - C. 16 - D. 15 - **正确答案**: B. 31 - **知识点详解**: - **满二叉树**是指除了最后一层外,每一层上的所有结点都有两个子...
题目中的选项B是正确的,因为它可以用在SQL语句中检查性别是否为"男"或"女"。 5. JavaScript 随机数:JavaScript中可以使用 `Math.random()` 函数生成0到1之间的随机数,然后通过适当调整范围,显示1到10之间的...
- 从`tbl_student`表中按升序排列所有数据,正确的SQL语句是`SELECT * FROM tbl_student ORDER BY stu_id ASC;` 7. **DBS**: - DBS代表“数据库系统”,包括数据库、数据库管理系统和相关软件。 8. **三元...
- **叶子节点数量**: 在深度为5的满二叉树中,叶子节点的个数为16。 - **解析**: 满二叉树的叶子节点数量等于2^(深度-1)。 **正确答案**: C. 16 #### 28. 表达式的类型检查 - **问题未完整给出**,根据上下文...
- **`PreparedStatement`**:预编译SQL语句,提高执行效率。 - **`Statement`**:每次执行都需要重新编译SQL语句。 ### 数据库连接 - **左连接**:返回左表的所有记录,右表匹配的记录。 - **右连接**:返回右表的...
例如,要查找学生表`student`中姓名的第二个字为"t"的学生学号`Sno`和姓名`sname`,正确的SQL语句应为:`SELECT Sno, sname FROM student WHERE sname LIKE '_t%'`。 ### 6. 报表视图方式 - 报表视图通常包括设计...
MemSQL 文档整理 MemSQL 是一款高性能的分布式关系数据库管理系统,支持实时数据分析和事务处理。下面是 MemSQL 的架构、角色、表类型、配置和优化等知识点。...可以使用 SQL 语句查看最热的查询,并对其进行优化。
为了查找学生表中姓名的第二个字为“t”的学生记录,正确的SQL语句应使用`LIKE`操作符和通配符`%`。 #### 14. 变量命名规则 有效的变量名应该以字母或下划线开头,并且避免使用关键字。选项D`Select_1`是合法的...
- **知识点**:SQL语句中创建表的基本语法。 - **解析**:SQL语句`CREATE TABLE`用于创建一个新的表。根据题目给出的SQL语句,表`student`包括`sno`、`sname`、`sex`和`age`四个字段,其中`sno`和`sname`不允许为空...
因此,深度为 5 的满二叉树叶子结点的个数为 16。 ### 11. CSS边框设置 - **边框宽度**:CSS中使用 `border-width` 属性设置边框宽度,格式为 `top right bottom left`,所以正确设置为 `border-width: 10px 1px 5...
SQL语句 - **INSERT INTO**:用于向表中插入新的记录。 ### 8. 数据存储对象 - **表对象**:实际存储数据的对象,在数据库设计中占据核心地位。 ### 9. 软件开发资源 - **辅助资源**:软件开发过程中可能需要...
4. 满二叉树的叶子节点数量:深度为 5 的满二叉树中,叶子结点(度为 0 的节点)的个数为 2^(d-1),其中 d 为深度。所以是 2^(5-1) = 16,但题目给出的答案是 B.31,可能是因为题目有误。 5. SQL 查询记录数:查询...
16. SQL查询中,要找出未选课的学生,可以使用`NOT IN`子句,正确的SQL语句是B。 17. VB(Visual Basic)程序通常不能在所有操作系统环境下运行,它依赖于Microsoft的运行环境,因此A选项错误。 18. 使用`...
5. DataSet数据填充:在.NET框架中,SqlDataAdapter对象用于从数据库中填充DataSet或DataTable,执行SELECT、INSERT、UPDATE和DELETE等SQL语句。 6. VFP字段名最大字符数:在Visual FoxPro(VFP)中,数据库表的...
6. SQL查询语句:在SQL中,获取每个学生所选课程的个数,需要使用`GROUP BY`子句来分组数据,然后使用`COUNT()`函数统计每个组的元素数量。正确的SQL语句应该是B.select student_id, count(course_id) from course_...