问题:delphi查询以逗号或者分号隔开的数据
描述:

我想用一个按钮导入txt,xlsx数据,比如111,222,333,但是连接数据库查询的时候,这其实是3个test1字段下的3个值,而不是一个值,这3个值用逗号或者分号隔开,查询的时候用stringgrid显示出来3行,这查询语句应该怎么写?怎么识别以逗号或者分号隔开的数据?


解决方案1:

MSSQL 数据库的话,  可以自己创建一个字符串拆分函数.


CREATE FUNCTION [dbo].[SPLIT] 
(
@string nvarchar(500),  
@separator nvarchar(10) 
)
RETURNS @array TABLE(String nvarchar(500)) 
AS
BEGIN
DECLARE @separatorIndex int,@tempString nvarchar(500),@tagString nvarchar(500)
    SET @tagString=@string
SET @separatorIndex=CHARINDEX(@separator,@tagString)  
    WHILE(@separatorIndex<>0)
BEGIN
        SET @tempString = SUBSTRING(@tagString,1,@separatorIndex-1)  
        INSERT INTO @array(String) VALUES(@tempString)  
        SET @tagString = SUBSTRING(@tagString,@separatorIndex+1,LEN(@tagString)-@separatorIndex)  
        SET @separatorIndex=CHARINDEX(@separator,@tagString)  
    END  
    SET @tempString = @tagString  
    IF (LEN(@tempString)>0)  
        INSERT INTO @array(String) VALUES(@tagString)  
RETURN
END
GO

执行拆分: 
SELECT * FROM dbo.SPLIT(N'111,222,333',',') 

上一篇哪个数学学的好,进来告诉我一下
下一篇DELPHI7的按行读取并查找的问题
明星图片
相关文章
《delphi查询以逗号或者分号隔开的数据》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)