DROP FUNCTION computeExaminePurview
GO
/**
* 针对字符串@departmentCode,从右边算起,如果一定数量(如2个字符)的字符满足指定的字符,
* 则级别加1,最终返回级别的值
*/
CREATE FUNCTION computeExaminePurview
(
@departmentCode varchar(100)
)
RETURNS int
AS
BEGIN
DECLARE @purview int
DECLARE @str varchar(100)
DECLARE @splitCharCount int
DECLARE @purviewChar varchar(100)
SET @purview = 1;
SET @splitCharCount = 2
SET @purviewChar = '00'
SET @str = @departmentCode
WHILE LEN(@str) > 0
BEGIN
--从右往左算,每@splitCharCount个字符如果与预定的@purviewChar相同,则级别加1
IF RIGHT(@str,@splitCharCount) = @purviewChar
SET @purview = @purview + 1
ELSE
--若有一个不满足条件,则返回,无需继续计算
RETURN @purview
--将@str用左边剩余的字符重新赋值
IF LEN(@str) >= @splitCharCount
SET @str = LEFT(@str,LEN(@str) - @splitCharCount)
ELSE
SET @str = ''
END
RETURN @purview
END
select dbo.computeExaminePurview('400000'),dbo.computeExaminePurview('440010'),dbo.computeExaminePurview('440200')
-- column1 column2 column3
---------- ---------- ----------
-- 3 1 2
分享到:
相关推荐
查询条件可以是各种比较运算符(如=, >, <等)、范围条件(BETWEEN...AND...)、集合条件(IN, NOT IN)和字符匹配(LIKE)等。例如,查找所有年龄在18到25之间的学生: ```sql SELECT * FROM Students WHERE Age ...
在本文档中,我们主要探讨了数据库系统原理与开发,特别是使用PostgreSQL数据库进行SQL实践。PostgreSQL是一种功能强大的开源关系型数据库管理系统,被广泛应用于各种工程项目管理系统的开发。 首先,我们关注如何...
- Medical(PatientID, , Disease, BedNumber, WardNumber, WardLocation, BedCount, DoctorID, Doctor, Title, DepartmentCode, DepartmentName, DepartmentLocation, DepartmentHead) - 拆分为: - Patient...
在Hibernate中实现这种关系,我们不一定要依赖主键作为关联字段,而是可以使用非主键关联。下面我们将详细探讨如何在Hibernate中设置一对多非主键关联。 首先,我们需要理解在Hibernate中一对多关联的基本概念。在...
`change()`函数通过获取当前选中的部门代码(`departmentCode`),使用Ajax向服务器请求数据,然后根据返回的JSON数据动态更新人员下拉框的选项。 ### 知识点三:Ajax技术 Ajax(异步JavaScript和XML)是一种在...