MSSQL, MYSQL 字符串拆分
2015-10-14 13:27
591 查看
MSSQL:
MSSQL 2005 以上
1.
declare @str nvarchar(2000),
@split nvarchar(10)
set @str = '广东省,广州市,越秀区'
set @split =','
SELECT B.id
FROM
(
SELECT [value] = CONVERT(XML, '<v>' + REPLACE(@str , @split , '</v><v>')+ '</v>')
) as A
OUTER APPLY
(
SELECT id = N.v.value('.' , 'varchar(100)')
FROM A.[value].nodes('/v')N(v)
) as B
2.
declare @str nvarchar(2000)
declare @sql nvarchar(4000)
declare @split nvarchar(10)
set @str = '广东省,广州市,越秀区'
set @split =','
set @sql='select decs ='''+ replace(@str, @split, ''' union all select ''')+''''
exec (@sql)
MYSQL:
SET @b = '广东省,广州市,越秀区';
SET @a = REPLACE(@b,',', ' union all select ');
SET @a = CONCAT('select ', @a);
PREPARE rc FROM @a;
EXECUTE rc;
MSSQL 2005 以上
1.
declare @str nvarchar(2000),
@split nvarchar(10)
set @str = '广东省,广州市,越秀区'
set @split =','
SELECT B.id
FROM
(
SELECT [value] = CONVERT(XML, '<v>' + REPLACE(@str , @split , '</v><v>')+ '</v>')
) as A
OUTER APPLY
(
SELECT id = N.v.value('.' , 'varchar(100)')
FROM A.[value].nodes('/v')N(v)
) as B
2.
declare @str nvarchar(2000)
declare @sql nvarchar(4000)
declare @split nvarchar(10)
set @str = '广东省,广州市,越秀区'
set @split =','
set @sql='select decs ='''+ replace(@str, @split, ''' union all select ''')+''''
exec (@sql)
MYSQL:
SET @b = '广东省,广州市,越秀区';
SET @a = REPLACE(@b,',', ' union all select ');
SET @a = CONCAT('select ', @a);
PREPARE rc FROM @a;
EXECUTE rc;
相关文章推荐
- MYSQL 字符串函数
- MySQL关键字(保留字)汇总
- PowerDesigner逆向工程导入MYSQL数据库总结
- [每日一答] [20151014] MySQL统计函数记录——时间段统计
- MSSQL 通过FOR XML PATH 模仿MYSQL的 group_concat 函数,將纪录值合并成字符串
- MySql记录一(从安装开始)
- MySql:增删改查(CRUD)以及乱码编码解决(2)
- Mysql修改&设置密码
- mysql 按照 where id IN (42,25,26,27) 按照顺序查找id 的办法
- MySQL学习笔记11:运算符
- MySQL学习笔记10:修改数据
- MySQL乱码
- MySQL学习笔记9:连接查询
- MySql5.0命令全集
- MySQL学习笔记8:函数查询
- ofbiz 安装以及使用mysql数据库
- MySQL学习笔记7:基本查询
- MySQL学习笔记6:索引
- WAMP启动后MySQL不能启动的问题
- mysql练习语句