[转]SQL - Create XML - How to set Unicode UTF-8

本文转自:https://stackoverflow.com/questions/44754356/sql-create-xml-how-to-set-unicode-utf-8

I found a solution via another way. (don‘t remember which website I found it) See code below. This code will export my file in UTF-8-BOM encoding.



DECLARE @OLE            INT 

EXECUTE sp_OACreate ‘ADODB.Stream‘,  @OLE OUTPUT

DECLARE @Text XML
SET @Text =  N‘This is the 测试测试 test string‘;  --(SELECT TOP(1) [xml] from VW_WARP_LEVERANCIERS_XML)
DECLARE @Converted NVARCHAR(MAX)
SET @Converted = CONVERT(nvarchar(MAX), @Text)

EXECUTE sp_OASetProperty             @OLE,    ‘Type‘,             2                           --1 = binary, 2 = text
EXECUTE sp_OASetProperty             @OLE,    ‘Mode‘,             3                           --0 = not set, 1 read, 2 write, 3 read/write
EXECUTE sp_OASetProperty             @OLE,    ‘Charset‘,          ‘UTF-8‘                     --‘ISO-8859-1‘
EXECUTE sp_OASetProperty             @OLE,    ‘LineSeparator‘,    ‘adLF‘
EXECUTE sp_OAMethod                  @OLE,    ‘Open‘
EXECUTE sp_OAMethod                  @OLE,    ‘WriteText‘,        NULL,       @Converted      --text method

--Commit data and close text stream
EXECUTE sp_OAMethod                  @OLE,    ‘SaveToFile‘,       NULL,       ‘d:\1.txt‘, 2   --1 = notexist 2 = overwrite
EXECUTE sp_OAMethod                  @OLE,    ‘Close‘
EXECUTE sp_OADestroy                 @OLE

EXECUTE sp_OADestroy @OLE 

原文地址:https://www.cnblogs.com/freeliver54/p/9172487.html

时间: 2024-08-30 13:44:47

[转]SQL - Create XML - How to set Unicode UTF-8的相关文章

批量生成表Create SQL 示例 Generate SQL Create Scripts for existing tables with Query

有时候,我们想要快速获取数据库中某个表的结构,或者是对应的SQL文. DDL: CREATE TABLE [dbo].[WorkOut]( [WorkOutID] [bigint] IDENTITY(1,1) NOT NULL, [TimeSheetDate] [datetime] NOT NULL, [DateOut] [datetime] NOT NULL, [EmployeeID] [int] NOT NULL, [IsMainWorkPlace] [bit] NOT NULL, [Dep

SQL对Xml字段的操作

原文:SQL对Xml字段的操作 T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB). 用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中.

SQL CREATE INDEX 语句

CREATE INDEX 语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引 您可以在表中创建索引,以便更加快速高效地查询数据. 用户无法看到索引,它们只能被用来加速搜索/查询. 注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新.因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引. SQL CREATE INDEX 语法 在表上创建一个简单的索引.允许使用重复的值: 1 CREATE INDEX i

sql FOR XML PATH('')

alter function test() Returns nvarchar(max) As Begin Declare @avg nvarchar(max) Declare @str nvarchar(max) Set @str=( Select ','+yuanshidanhao from Aj_Jibenxinxi Where convert(nvarchar(max),id) in (1,2,6) FOR XML PATH('') ) Return @str End sql FOR XM

Oracle使用Sql把XML解析成表(Table)的方法

SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING XMLTYPE('<?xml version="1.0" encoding="gb2312" ?> <DEAL_BASIC> <USER_DEAL_INFO> <USER_DEAL_ID>1000100001</USER_DEAL_ID> <DEAL_INURE_TIME>

SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) 数据类型(data_type)规定了列可容纳何种数据类型.下面的表格包含了SQL中最常用的数据类型: 数据类型 描述 integer(size) int(size) smallint(size) tinyint(size) 仅容纳整数.在括号内规定数字的最

Sql Server xml 类型字段的增删改查

1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需要写sql更新或插入. DECLARE @xml XML SET @xml=' <MyHobby> <MyCode>1</MyCode> <MyName>爬山</MyName> </MyHobby> <MyHobby> <

sql for xml 另一种写法(采用 tag 与 union all,简洁易懂)

测试环境:sql 08, 08 R2, 2010,  2012, 2014 等 declare @agent table ( AgentID int, Fname varchar(5), SSN varchar(11) ) insert into @agent select 1, 'Vimal', '123-23-4521' union all select 2, 'Jacob', '321-52-4562' union all select 3, 'Tom', '252-52-4563' de

将SQL for xml path(&#39;&#39;)中转义的字符正常显示

将SQL for xml path('')中转义的字符正常显示 在工作中出现的发送邮件的时候:因为邮件内容中有链接,并且多个拼接在一起的,于是用了for xml path().        但是,这样显示出来的链接时会将路径中的<,>,&符号转义为< > & 这样显示的路径在邮件中是不能进行链接的.         在网上查了很多资料后终于找到了一种方法:...FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)') 如下