create function dbo.splitFuhao(@CID nvarchar(2000), @delimiter nchar)
returns varchar(60)
as
begin
declare @idx as int
declare @count as int
declare @tempCID as varchar(50)
declare @tempt as varchar(50)
declare @t as varchar(50)
set @count = 1
set @t = ''
while len(@CID) > 0
begin
set @idx = charindex(@delimiter, @CID)
if @idx = 0 and len(@CID) > 0
begin
-- insert into @t values(@CID)
break
end
if @idx > 1
begin
if(left(@CID, @idx - 1)='true')
begin
if(@count>1)
begin
set @t = @t+','
end
set @t = @t+convert(varchar(10),@count)
end
set @CID = right(@CID, len(@CID) - @idx)
end else
set @CID = right(@CID, len(@CID) - @idx)
set @count=@count+1
end
return @t
end
go
print dbo.splitFuhao('true-true-false-true-false-true-false', '-')
返回1,2,4,6
分享到:
相关推荐
通过以上步骤,我们不仅学会了如何在SQL查询中截取字符串后转成数值型,还深入了解了SQL中的一些基本函数和操作。这对于处理复杂的数据集、执行高级数据分析或开发数据库应用程序都是至关重要的技能。
`ASP截取字符串`这个话题涉及到如何使用ASP内置的函数或自定义方法来操作字符串,以便控制在页面上显示的内容。下面将详细介绍ASP中用于截取字符串的主要方法和相关知识点。 1. **Left 函数**: `Left`函数用于从...
"很好的SQL截取字符传的操作.txt"可能包含以上函数的实际示例,展示如何在不同的场景下有效利用这些函数处理字符串。 结合"触发器的使用案例.txt"和"T-SQL触发器的使用",我们可以看到如何将触发器与T-SQL字符串...
然而,当涉及到处理中文字符时,Impala的内置函数`substr()`和`substring()`可能会遇到一些挑战,尤其是在截取中文字符串时可能出现乱码问题。这是因为这两个函数在设计时可能没有充分考虑多字节字符集,如UTF-8,而...
### SQL2000 字符串分割方法解析 在处理大量数据时,经常...此外,随着SQL Server版本的不断更新,后续版本中还提供了更多方便的内置函数来进行字符串操作,如`STRING_SPLIT()`等,使得字符串处理变得更加便捷高效。
这两个函数常用于截取字符串中的特定部分。 ### SUBSTRING() SUBSTRING()函数可以从字符串中提取一个子串,需要指定起始位置和长度。 ```sql SELECT SUBSTRING('Hello World', 7, 5); -- 返回'World' ``` 这个...
函数内部同样使用循环结构来定位目标元素的起始位置,然后使用`SUBSTRING`函数截取相应的子字符串。 #### 实现细节与注意事项: - 在创建自定义函数时,需要注意函数的输入参数类型和返回类型是否匹配实际需求。 -...
- **SUBSTRING(str, start, length)**:从指定位置开始截取字符串的一部分。 - **REPLACE(str, oldstr, newstr)**:替换字符串中的指定子串。 - **UPPER(str)**:将字符串转换为大写。 - **LOWER(str)**:将字符串...
首先,我们来看标题提到的SQL语句,它创建了一个名为`dbo.F_Get_No`的用户定义函数,这个函数接受一个`varchar(100)`类型的参数`@No`,并返回一个`bigint`类型的值,即字符串中的纯数字部分。 函数的核心逻辑在于`...
在SQL Server 2005中,字符串函数是T-SQL编程的重要组成部分,它们提供了对字符串操作的强大支持,包括清理、转换、搜索、截取等多个方面。以下是对这些功能的详细解释: 1. **ASCII 和 CHAR**: ASCII函数接收一个...
MySQL不提供内置的多分隔符字符串分割函数,但可以通过创建用户定义的函数(UDF)来实现。这通常涉及到C语言编程,将编译好的库文件导入到MySQL服务器。然而,对于简单的分割任务,可以考虑在应用程序层处理。 四、...
`CHARINDEX`函数用于查找`@SplitChar`在`@Source`中的位置,`SUBSTRING`函数则用于截取字符串的一部分。在循环中,如果找到了目标索引,就会通过`BREAK`语句跳出循环。 最后,函数返回处理后的结果。在示例调用中,...
结合`instr()`,可以逐个截取字符串的不同部分。 3. **REGEXP_SUBSTR() 函数** 对于更复杂的字符串分割需求,`regexp_substr()` 函数基于正则表达式规则进行分割。它返回匹配正则表达式的子串。例如,`regexp_...
3. 当找到分隔符时,使用`LEFT()`函数截取分隔符前的子字符串,并将其插入结果集。 4. 更新源字符串,使其从上一次分隔符的下一个字符开始。 5. 继续查找分隔符,直到没有找到为止。 6. 如果源字符串不以分隔符结尾...
2. **字符串函数**:处理字符数据时,`LEN()`计算字符串长度,`LEFT()`和`RIGHT()`用于提取字符串的左边或右边字符,`SUBSTRING()`截取字符串的一部分,`UPPER()`和`LOWER()`转换为大写或小写,`REPLACE()`替换子串...
SQL 字符串分割函数实现多行数据转换 在数据库中,经常会遇到将一个字段中的特殊字符分割的字符串转换成多行数据的情况。这是一个常见的需求,但是网上提供的解决方案往往非常复杂,难以理解和实现。为了解决这个...
如果`@ISDimensional`为'Y'且`@dimensional`为'2',函数将截取字符串中除前缀外的部分。若`@ISDimensional`为'Y'且`@dimensional`为'1',则去除空格并只保留字符串到第一个'/'字符之前的部分。 ```sql CREATE ...
如`LEN()`计算字符串长度,`UPPER()`和`LOWER()`转换大小写,`REPLACE()`替换子串,`LEFT()`和`RIGHT()`截取字符串,`CONCAT()`连接字符串,`SUBSTRING()`提取部分字符串,`TRIM()`去除两端空白。 3. **日期时间...
14. **SUBSTRING**: 截取字符串的一部分。 - 示例: `SELECT SUBSTRING('abcdef', 2, 3);` 返回结果为bcd。 - 用途: 从字符串中提取子串,广泛应用于数据处理和文本分析。 以上是对SQL中常用字符串函数的详细介绍...
在SQL Server中提取字符串中的数字可以通过创建自定义函数实现。这里我们将通过一个具体的例子来展示这一过程。 ```sql -- 检查并删除已存在的函数GET_NUMBER2 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP ...