热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大神求助啊帮忙解决下sqlserver中一个棘手的问题

假设我有一张源表customer_account中有一个字段crm_id_content,字段的内容大概为这种模式<r><uid{F7898717-4954-E123
假设我有一张源表 customer_account中有一个字段 crm_id_content ,字段的内容大概为这种模式


现在的要求是将整个字段中的 id ,也就是“F7898717-4954-E123-A3C8-3C4A67E86D2E”  和 “A27BFB89-5F20-E451-A8BB-3C4A92E86D2E”这两个字符串取出来,插入到目标表customer_account_mubiao中的crm_customer_id字段中,id与id中间用“;”隔开,当然,源表的源字段中的id是不固定的,有些是有两个id,有些是3个id,有些事1个id,但是id的长度都是固定的36位,求各位大神帮帮忙啊

3 个解决方案

#1



;WITH customer_account(crm_id_content) AS (
SELECT  '


SELECT tt.id FROM (
SELECT *,CONVERT(XML,crm_id_content) AS xml_crm_id_content FROM customer_account
) t
CROSS APPLY (SELECT b.value('@id','VARCHAR(100)') AS id FROM t.xml_crm_id_content.nodes('r/u') s(b)) tt

/*
id
{F7898717-4954-E123-A3C8-3C4A67E86D2E}
{A27BFB89-5F20-E451-A8BB-3C4A92E86D2E}
*/

#2




;WITH customer_account(crm_id_content) AS (
SELECT  N'


SELECT tt.id,tt.[name] FROM (
SELECT *,CONVERT(XML,crm_id_content) AS xml_crm_id_content FROM customer_account
) t
CROSS APPLY (SELECT b.value('@id','VARCHAR(100)') AS id,b.value('@n','NVARCHAR(500)') AS [name] FROM t.xml_crm_id_content.nodes('r/u') s(b)) tt

/*
id name
{F7898717-4954-E123-A3C8-3C4A67E86D2E} 招商银行南京分行
{A27BFB89-5F20-E451-A8BB-3C4A92E86D2E} 厦门银行
*/

#3


楼上的

思路大概就是用SQL做XML解析吧

推荐阅读
  • 关于SQLSERVER的全文目录跟全文索引的区别
    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ... [详细]
  • 定制数据层关键字:数据层,访问,元数据,数据访问模型http://www.gaodaima.com/35448.html定制数据层_sqlserver ... [详细]
  • sqldouble222.22222222如何转换成字符串222.22222222%convertcast都是保留4位小数。 ... [详细]
  • Oracle将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)----创建表Createtablet_user(Idnumber(6),use ... [详细]
  • 1.3.4ProfilerSQLServerProfiler是一个图形化的管理工具用于监督记录和检查SQLServer数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍1. ... [详细]
  • 微软平台的软件开发系统中,有着一套自己的约定规则。熟悉.net开发的都会对异常处理不陌生,现阶段的各种编程语言中,都不乏异常处理机制,个中原理也都大同小异。sqlserver在批处 ... [详细]
  • SQLServer2008全套 数据库简介,分离,收缩,快照
    第三课视频笔记:联机丛书的使用附加和分离数据库---收缩数据库--------数据库快照 ... [详细]
  • 这篇文章主要讲解了“SQLServer与Access数据库ASP代码有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深 ... [详细]
  • SqlServer分区表概述(转载)
    什么是分区表一般情况下,我们建立数据库表时,表数据都存放在一个文件里。但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件 ... [详细]
  • 转载:http:www.crazycoder.cnDataBaseIndex.html查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设 ... [详细]
  • 当当开源shardingjdbc,轻量级数据库分库分表中间件详解数据库
    近期,当当开源了数据库分库分表中间件sharding-jdbc。Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框 ... [详细]
  • 本文主要介绍关于asp.net,visualstudio,sqlserver的知识点,对【asp.net小说网站案例】和【asp.net电商项目】有兴趣的朋友可以看下由【师哥帮忙】投稿的技术文章,希 ... [详细]
  • Java连接SqlServer2008数据库(转)
    Java连接SqlServer2008数据库首先下载JDBC:下载地址:http:www.microsoft.comzh-cndownloaddetails.aspx?id21599下载 ... [详细]
  • 在Sqlserver数据库历代版本当中,系统数据库有四个,master,model,msdb,tempdbmaster----记录SQLServer系统的所有系统级信息。这包括实例范围的元数 ... [详细]
  • 在目标队列中对消息进行排队时出现异常。错误:15404,状态:19。CouldnotobtaininformationaboutWindowsNTgroupuserSERVER ... [详细]
author-avatar
醒不睡睡不醒_269
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有