那就是简单的字符分析啊,在程序中写个函数不就行了也可以直接用sql语句
解决方案 »
- sql server 2005 的问题
- 数据死锁
- SQL2005查询语句问题,在线等,非常急、急、急!!!
- 如何取出汇兑后(count)按汇兑的总数进行排序?
- SQL Report Builder Filter Question.
- 阿里巴巴里的一个行业分类的附加属性查询的问题求教
- sql中部分字符怎么转成数值加1?
- 设置数据库最大并发为1后,导致无法连接sql server2005,有什么办法可以更改?
- 在线等:求一sql语句
- 如何设置清空某个表除了某一个用户名?
- 救命啊!!为什么在DBASE数据库里执行“ALTER TABLE TableName ADD COLUMN AAA C(10)”发生异常?!,使用环境:VC++,该语句不兼容啊!
- 请教存储过程高手,在线等!急
SELECT @sql = 'INSERT INTO 另一表 SELECT ''' + REPLACE(REPLACE(SUBSTRING(字段, 2, LEN(字段) - 2), '#', ''' UNION ALL SELECT '''), '*', ''', ''') + '''' FROM 表
EXEC(@sql)
declare @ee varchar(5000),@len int
set @ee='#8613*TEST*01898222200309151459210000#8613*TEST*01898222200309151459210001#8613*TEST*01898222200309151459210002#8613*TEST*01898222200309151459210003#8613*TEST*01898222200309151459210004#8613*TEST*01898222200309151459210005#8613*TEST*01898222200309151459210006#8613*TEST*01898222200309151459210007#8613*TEST*01898222200309151459210008#8613*TEST*01898222200309151459210009#8613*TEST*01898222200309151459210010#'
set @len=len(replace(@ee,'#8613*TEST*',' union all select '))
select @str=substring(replace(@ee,'#8613*TEST*',' union all select '),12,@len-12)
set @str='insert into yourtable(appdone_id) '+@str + ' go update yourtable set src_id=''8613'',received_content=''TEST'''
exec(@str)@ee可以用你的字段替换以下就可以了。
你试试吧,祝你成功!
SET @sql = ''
SELECT @sql = @sql + CASE WHEN @sql = '' THEN '' ELSE ' UNION ALL ' END + 'SELECT ''' + REPLACE(REPLACE(SUBSTRING(字段, 2, LEN(字段) - 2), '#', ''' UNION ALL SELECT '''), '*', ''', ''') + '''' FROM 表
--PRINT @sql
EXEC(@sql)如果要写到另外的表中,最好先建一个临时表CREATE TABLE ##tmp (c1 varchar(100), c2 varchar(100), c3 varchar(400))DECLARE @sql varchar(8000)
SET @sql = ''
SELECT @sql = @sql + CASE WHEN @sql = '' THEN '' ELSE ' UNION ALL ' END + 'SELECT ''' + REPLACE(REPLACE(SUBSTRING(字段, 2, LEN(字段) - 2), '#', ''' UNION ALL SELECT '''), '*', ''', ''') + '''' FROM 表
SELECT @sql = 'INSERT INTO ##tmp(c1, c2, c3) ' + @sql
--PRINT @sql
EXEC(@sql)SELECT c1, c2, c3 FROM ##tmp
如果我要在插入表中加入另外一个字段4,字段4由我给顶,sql该怎样写啊。
SELECT @sql = 'insert into 表(字段1,字段2,字段3) select''' + REPLACE(REPLACE(SUBSTRING(字段, 2, LEN(字段) - 2), '#', ''' UNION ALL SELECT '''), '*', ''', ''') + ''''
SELECT c1, c2, c3, identity(int, 1, 1) as 字段4
FROM ##tmp