SQL语句可以声明使用数组么?

2025-05-12 19:23:27
推荐回答(2个)
回答(1):

sql没有数组类型的,不过你可以自定一个varchar类型的变量,里边装字符串,用逗号分开,然后进行分割就成了数组,第一步:数组长度的函数 SQL code Alter Function arrLen(@string varchar(1000),@SpaceMark Varchar(200)) --@String 眼拆分的字符串 @SpaceMark 分割符 Returns intAsBeginDeclare @i Int Set @i = (Len(@string) - Len(Replace(@string,@Spacemark,'')))/Len(@SpaceMark)Return(@i)End第二步:按索引值取数组中的数据 SQL code Alter Function arrList(@String varchar(8000),@SpaceMark Varchar(8000),@arrStation int) returns varchar(8000)AsBeginDeclare @newString varchar(8000) Declare @ReturnString Varchar(8000) Set @NewString = @String Declare @i intSet @i = 0if(@arrStation>0 And @arrStation<=Dbo.arrLen(@String,@SpaceMark))BeginWhile(@i<@arrStation)BeginSet @NewString = SubString(@NewString,CharIndex(@SpaceMark,@NewString)+1,Len(@NewString)) Set @i = @i + 1EndEndIf(@arrStation<0)BeginSet @ReturnString = '上标越界'EndElse If(@arrStation

回答(2):

mysql
语法中有枚举类型,相当于数组。但是Mssql
server
和oracle
中没有类似数组的类型。
但我还是那句话,人是可以变通的,想别的办法实现,一定可以的。