求祝 sql中 取一个字段里第一个逗号前的数值。

2025-03-23 05:10:08
推荐回答(5个)
回答1:

Declare @a varchar(1000)
Declare @i int
Set @i = 0
Set @a = 'A,B,C,D,E,F,G,H,I'
While(@i <=Len(@a))
Begin
Print Substring(@a,CHARINDEX(',',@a)+@i-1,1)
Set @i = @i + 2
ENd
可以取出里面所有的字母

回答2:

取子串函数
1、left()
LEFT ()
返回character_expression 左起 integer_expression 个字符。

2、right()
RIGHT ()
返回character_expression 右起 integer_expression 个字符。

3、substring()
SUBSTRING (, length)
参数:
expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。
length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。
返回值:
如果 expression 是一种支持的字符数据类型,则返回字符数据。如果 expression 是一种支持的二进制数据类型,则返回二进制数据。如果 start = 1,则子字符串从表达式的第一个字符开始。

看看这个函数吧

仔细看看这三个函数 你就会明白怎么做了

回答3:

select case when CHARINDEX(',',k,0)>0 then SUBSTRING(k,0, CHARINDEX(',',k,0))
else '' end
from table

回答4:

SELECT LEFT(K,CHARINDEX(',',K)-1)

回答5:

select substr('a,b,c, ',1,instr('a,b,c,',',') -1) from dual