原文链接:https://www.cnblogs.com/deng779256146/p/8637304.html

T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集。
本章将分析XQuery的 value() 方法、 exist() 方法 和 nodes() 方法
*/
------------------------------value() 方法--------------------------------------
–value(XPath条件,数据类型):结果为指定的标量值类型; XPath条件结果必须唯一

DECLARE @x XML
SET @x=’


阿彪
流氓

光辉
二辉
流氓

小德
小D
臭流氓


–value() 方法从 XML 中检索 rogue 属性值。然后将该值分配给 int 变量。

SELECT @x.value(’(/root/rogue/@id)[1]’,‘int’)
–解析 hobo 中属性 id 为2 的所有元素值
SELECT @x.value(’(/root/rogue[2]/hobo/@id)[1]’,‘int’)
, @x.value(’(/root/rogue[2]/hobo/name)[1]’,‘varchar(10)’)
, @x.value(’(/root/rogue[2]/hobo/nickname)[1]’,‘varchar(10)’)
, @x.value(’(/root/rogue[2]/hobo/type)[1]’,‘varchar(10)’)

------------------------------exist() 方法--------------------------------------
–exist() 方法- 用来判断 XQuery 表达式返回的结果是否为空

----判断 hobo 中属性 id 的值 是否为空

SELECT @x.exist(’(/root/rogue/hobo/@id)[1]’)
–判断指定节点值是否相等
DECLARE @xml XML =‘a’
SELECT @xml.exist(’(/root/name[text()[1]=“a”])’)

–用 exist() 方法比较日期时,请注意下列事项:
–代码 cast as xs:date? 用于将值转换为 xs:date 类型,以进行比较。
–@Somedate 属性的值是非类型化的。比较时,此值将隐式转换为比较右侧的类型(xs:date 类型)。
–可以使用 xs:date() 构造函数,而不用 cast as xs:date()。
DECLARE @a XML
SET @a=’’
SELECT @a.exist(’/root[(@Somedate cast as xs:date?) eq xs:date(“2012-01-01”)]’)
–下面的示例与上一示例类似,不同之处在于它具有 元素。
SET @a = ‘2002-01-01Z’
SELECT @a.exist(’/Somedate[(text()[1] cast as xs:date ?) = xs:date(“2002-01-01”) ]’)

DECLARE @x1 XML
SELECT @x1 = ‘’

DECLARE @att VARCHAR(20)
SELECT @att = ‘Number’

IF @x1.exist(’/Employee/@*[local-name()=sql:variable("@att")]’) = 1
SELECT ‘Exists’ AS Result
ELSE
SELECT ‘Does not exist’ AS Result

------------------------------nodes() 方法--------------------------------------
–语法
–nodes (XQuery) as Table(Column) 将一个 XQuery 表达式拆分成多行
–以便于拆分成关系数据

–将 rogue 节点拆分成多行
SELECT T.c.query(’.’) AS result
FROM @x.nodes(’/root/rogue’) T©;

–扩展 rogue 拆分成数据行
SELECT T.c.value(’(@id)[1]’,‘varchar(10)’) AS id
,T.c.value(’(./hobo/name)[1]’,‘varchar(10)’) AS name
,T.c.value(’(./hobo/nickname)[1]’,‘varchar(10)’) AS nickname
,T.c.value(’(./hobo/type)[1]’,‘varchar(10)’) AS type
FROM @x.nodes(’/root/rogue’) T©;

/**********************************************************
*

  • value() 方法 nodes() 方法 exist() 方法的综合应用

**********************************************************/

–1 像下面的脚本,结点下还会用结点的,就要用到 text()
DECLARE @xml XML=N’

bc’;
SELECT @xml.value(’(/b)[1]’, ‘varchar(10)’), @xml.value(’(/b/text())[1]’, ‘varchar(10)’)

–2 对表中的 XML 数据进行解析, 节点下面有多个相同节点的 使用 CROSS APPLY 和 nodes() 方法解析
IF OBJECT_ID(‘tempdb…[#tb]’) IS NOT NULL DROP TABLE [#tb]
CREATE TABLE [#tb]([id] INT,[name] XML)
INSERT [#tb]
SELECT 1,‘ab’ UNION ALL
SELECT 2,‘b’ UNION ALL
SELECT 3,‘d
SELECT
T.c.query(’.’),
T.c.value(’.’, ‘sysname’)
FROM [#tb] A
CROSS APPLY A.name.nodes(’/r/i’) T©

–3 利用xml 拆分字符串
DECLARE @s VARCHAR(100)=‘1,2,3,4,5,6’
SELECT t.c.value(’.’,‘int’) AS col from
(SELECT CAST(’’+REPLACE(@s,’,’,’’)+’’ AS XML ).query(’.’) AS name) AS a
CROSS APPLY a.name.nodes(’/x’) T©

–4 取任意属性的属性值,这里引入了 sql:variable
DECLARE @xml XML
DECLARE @Price DECIMAL(18 , 2),
@xmlPath VARCHAR(10)= ‘Price2’
SET @xml=’’
SELECT col.value(’(@Price2)[1]’ , ‘varchar(80)’)
FROM @xml.nodes(’/row’) data(col)

SELECT @xml.value(’(/row/@*[local-name()=sql:variable( “@xmlPath”)])[1]’ , ‘DECIMAL(18,2)’)

SELECT col.value(’(@Price2)[1]’ , ‘varchar(80)’)
FROM @xml.nodes(’/row’) data(col)

SELECT col.value(’(@*[local-name()=sql:variable("@xmlPath")])[1]’ , ‘varchar(80)’)
FROM @xml.nodes(’/row’) data(col)
–组合使用
DECLARE @x1 XML
SELECT @x1 = ’

DECLARE @pos INT
SELECT @pos = 2

SELECT
@x1.value(‘local-name(
(/Employees/Employee[2]/@*[position()=sql:variable("@pos")])[1]
)’,‘VARCHAR(20)’) AS AttName

–5 使用 WITH XMLNAMESPACES 声明前缀 以及 XQuery 函数 namespace-uri()
DECLARE @xml XML
SELECT @xml = ’

–下面表达式将返回其命名空间 URI 为空的所有元素节点
–定义默认的命名空间
SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(‘declare default element namespace “http://schemas.microsoft.com/sqlserver/emp”;
/employee/@*[namespace-uri()=""]’) a(x)
–or 直接用通用符

SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(’//@[namespace-uri()=""]’) a(x)

– 使用 WITH XMLNAMESPACES
;WITH XMLNAMESPACES(
DEFAULT ‘http://schemas.microsoft.com/sqlserver/emp’
)
SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(’/employee/@*[namespace-uri()=""]’) a(x)

–返回所有带有前缀的节点
;WITH XMLNAMESPACES(
DEFAULT ‘http://schemas.microsoft.com/sqlserver/emp’
)
SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(’/employee/@*[namespace-uri()=“http://schemas.microsoft.com/sqlserver/location”]’) a(x)

–返回所有带有前缀的节点个数统计
;WITH XMLNAMESPACES(
DEFAULT ‘http://schemas.microsoft.com/sqlserver/emp’
)
SELECT @xml.value(‘count(/employee/@*[namespace-uri()=“http://schemas.microsoft.com/sqlserver/location”])’, ‘int’) AS [count]

–sql:column() 函数
–将普通数据列和 xml 数据列进行合并

DECLARE @t TABLE (id INT , data XML)

INSERT INTO @t (id , data)
SELECT 1 , ‘二辉流氓’
UNION ALL
SELECT 2 , ‘彪流氓’
SELECT id ,
data=data.query(’
{sql:column(“id”)}
{/root/name}
{/root/type}
')
FROM @t

/*

id data


1二辉流氓
2彪流氓

*/

–根据一个xml 变量 与表中的值进行关联查询

DECLARE @tb TABLE (id INT)
INSERT INTO @tb(id)
SELECT 1 UNION ALL
SELECT 2 UNION ALL
SELECT 3

declare @XmlData xml
set @XmlData = ’

1二辉流氓
2彪流氓

SELECT t.id AS id
FROM @tb t
CROSS APPLY @XmlData.nodes(’/root/rogue/typeid[. = sql:column(“id”)]’) a(x)

–string-length() 函数 和 number() 函数
–提取长度为5的数字
DECLARE @t TABLE (CustomerID INT, CustomerAddress VARCHAR(50))
INSERT INTO @t(CustomerID, CustomerAddress)
SELECT 1, ‘12 20 97TH STREET NEW GARDENS, NY 11415 APT 8P’ UNION ALL
SELECT 2, ‘20-10 93RD STREET #8A VICTORIA NY 11106 19TH FLR’ UNION ALL
SELECT 3, ‘290 BERKELEY STREET APT24D NYC, NY 10038’ UNION ALL
SELECT 4, ‘351-250 345 STREET PANAMA BEACH 11414 APT4F’

;WITH cte AS (
SELECT
CustomerID,
CAST(’’ +REPLACE(CustomerAddress, ’ ‘, ‘’) + ‘’ AS XML).query(’.’) AS CustomerAddress
FROM @t
)
SELECT
CustomerID,
x.i.value(’.’, ‘VARCHAR(10)’) AS ZipCode
FROM cte
CROSS APPLY CustomerAddress.nodes(’//i[string-length(.)=5][number()>0]’) x(i)

/*
CustomerID ZipCode


      11415  11106  10038  11414

*/

–使用 contains() 函数进行模糊查询
SELECT a.x.value(‘name[1]’ , ‘varchar(10)’)
FROM @x.nodes(’/root/rogue/hobo’) a (x)
CROSS APPLY a.x.nodes(‘type[contains(.,“臭流氓”)]’) b (y)

SELECT t.c.query(’.’)
FROM @x.nodes(’/root/rogue/hobo[./type[contains(.,“臭流氓”)]]’) t ©
按 Ctrl+C 复制代码

/------------------------------------------------------------------------------+
#| = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : |
#|{>/------------------------------------------------------------------------<}|
#|: | Author : 小爱 |
#|: | Description: XQuery的 value() 方法、 exist() 方法 和 nodes() 方法 |
#|: | SQL Version: 适用于 SQL 2005, SQL 2008 , SQL 2012 |
#|: | Copyright : 转载请注明出处。更多请访问:http://blog.csdn.net/beirut |
#|: | Create Date: 2012-11-22 |
#|: | About Me : 一个菜鸟dba |
#|{>------------------------------------------------------------------------/<}|
#| = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : |
#±----------------------------------------------------------------------------
/
/*
T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集。
本章将分析XQuery的 value() 方法、 exist() 方法 和 nodes() 方法
*/
------------------------------value() 方法--------------------------------------
–value(XPath条件,数据类型):结果为指定的标量值类型; XPath条件结果必须唯一

DECLARE @x XML
SET @x=’


阿彪
流氓

光辉
二辉
流氓

小德
小D
臭流氓


–value() 方法从 XML 中检索 rogue 属性值。然后将该值分配给 int 变量。

SELECT @x.value(’(/root/rogue/@id)[1]’,‘int’)
–解析 hobo 中属性 id 为2 的所有元素值
SELECT @x.value(’(/root/rogue[2]/hobo/@id)[1]’,‘int’)
, @x.value(’(/root/rogue[2]/hobo/name)[1]’,‘varchar(10)’)
, @x.value(’(/root/rogue[2]/hobo/nickname)[1]’,‘varchar(10)’)
, @x.value(’(/root/rogue[2]/hobo/type)[1]’,‘varchar(10)’)

------------------------------exist() 方法--------------------------------------
–exist() 方法- 用来判断 XQuery 表达式返回的结果是否为空

----判断 hobo 中属性 id 的值 是否为空

SELECT @x.exist(’(/root/rogue/hobo/@id)[1]’)
–判断指定节点值是否相等
DECLARE @xml XML =‘a’
SELECT @xml.exist(’(/root/name[text()[1]=“a”])’)

–用 exist() 方法比较日期时,请注意下列事项:
–代码 cast as xs:date? 用于将值转换为 xs:date 类型,以进行比较。
–@Somedate 属性的值是非类型化的。比较时,此值将隐式转换为比较右侧的类型(xs:date 类型)。
–可以使用 xs:date() 构造函数,而不用 cast as xs:date()。
DECLARE @a XML
SET @a=’’
SELECT @a.exist(’/root[(@Somedate cast as xs:date?) eq xs:date(“2012-01-01”)]’)
–下面的示例与上一示例类似,不同之处在于它具有 元素。
SET @a = ‘2002-01-01Z’
SELECT @a.exist(’/Somedate[(text()[1] cast as xs:date ?) = xs:date(“2002-01-01”) ]’)

DECLARE @x1 XML
SELECT @x1 = ‘’

DECLARE @att VARCHAR(20)
SELECT @att = ‘Number’

IF @x1.exist(’/Employee/@*[local-name()=sql:variable("@att")]’) = 1
SELECT ‘Exists’ AS Result
ELSE
SELECT ‘Does not exist’ AS Result

------------------------------nodes() 方法--------------------------------------
–语法
–nodes (XQuery) as Table(Column) 将一个 XQuery 表达式拆分成多行
–以便于拆分成关系数据

–将 rogue 节点拆分成多行
SELECT T.c.query(’.’) AS result
FROM @x.nodes(’/root/rogue’) T©;

–扩展 rogue 拆分成数据行
SELECT T.c.value(’(@id)[1]’,‘varchar(10)’) AS id
,T.c.value(’(./hobo/name)[1]’,‘varchar(10)’) AS name
,T.c.value(’(./hobo/nickname)[1]’,‘varchar(10)’) AS nickname
,T.c.value(’(./hobo/type)[1]’,‘varchar(10)’) AS type
FROM @x.nodes(’/root/rogue’) T©;

/**********************************************************
*

  • value() 方法 nodes() 方法 exist() 方法的综合应用

**********************************************************/

–1 像下面的脚本,结点下还会用结点的,就要用到 text()
DECLARE @xml XML=N’

bc’;
SELECT @xml.value(’(/b)[1]’, ‘varchar(10)’), @xml.value(’(/b/text())[1]’, ‘varchar(10)’)

–2 对表中的 XML 数据进行解析, 节点下面有多个相同节点的 使用 CROSS APPLY 和 nodes() 方法解析
IF OBJECT_ID(‘tempdb…[#tb]’) IS NOT NULL DROP TABLE [#tb]
CREATE TABLE [#tb]([id] INT,[name] XML)
INSERT [#tb]
SELECT 1,‘ab’ UNION ALL
SELECT 2,‘b’ UNION ALL
SELECT 3,‘d
SELECT
T.c.query(’.’),
T.c.value(’.’, ‘sysname’)
FROM [#tb] A
CROSS APPLY A.name.nodes(’/r/i’) T©

–3 利用xml 拆分字符串
DECLARE @s VARCHAR(100)=‘1,2,3,4,5,6’
SELECT t.c.value(’.’,‘int’) AS col from
(SELECT CAST(’’+REPLACE(@s,’,’,’’)+’’ AS XML ).query(’.’) AS name) AS a
CROSS APPLY a.name.nodes(’/x’) T©

–4 取任意属性的属性值,这里引入了 sql:variable
DECLARE @xml XML
DECLARE @Price DECIMAL(18 , 2),
@xmlPath VARCHAR(10)= ‘Price2’
SET @xml=’’
SELECT col.value(’(@Price2)[1]’ , ‘varchar(80)’)
FROM @xml.nodes(’/row’) data(col)

SELECT @xml.value(’(/row/@*[local-name()=sql:variable( “@xmlPath”)])[1]’ , ‘DECIMAL(18,2)’)

SELECT col.value(’(@Price2)[1]’ , ‘varchar(80)’)
FROM @xml.nodes(’/row’) data(col)

SELECT col.value(’(@*[local-name()=sql:variable("@xmlPath")])[1]’ , ‘varchar(80)’)
FROM @xml.nodes(’/row’) data(col)
–组合使用
DECLARE @x1 XML
SELECT @x1 = ’

DECLARE @pos INT
SELECT @pos = 2

SELECT
@x1.value(‘local-name(
(/Employees/Employee[2]/@*[position()=sql:variable("@pos")])[1]
)’,‘VARCHAR(20)’) AS AttName

–5 使用 WITH XMLNAMESPACES 声明前缀 以及 XQuery 函数 namespace-uri()
DECLARE @xml XML
SELECT @xml = ’

–下面表达式将返回其命名空间 URI 为空的所有元素节点
–定义默认的命名空间
SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(‘declare default element namespace “http://schemas.microsoft.com/sqlserver/emp”;
/employee/@*[namespace-uri()=""]’) a(x)
–or 直接用通用符

SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(’//@[namespace-uri()=""]’) a(x)

– 使用 WITH XMLNAMESPACES
;WITH XMLNAMESPACES(
DEFAULT ‘http://schemas.microsoft.com/sqlserver/emp’
)
SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(’/employee/@*[namespace-uri()=""]’) a(x)

–返回所有带有前缀的节点
;WITH XMLNAMESPACES(
DEFAULT ‘http://schemas.microsoft.com/sqlserver/emp’
)
SELECT
x.value(‘local-name(.)’, ‘VARCHAR(20)’) AS Attribute,
x.value(’.’, ‘VARCHAR(20)’) AS Value
FROM @xml.nodes(’/employee/@*[namespace-uri()=“http://schemas.microsoft.com/sqlserver/location”]’) a(x)

–返回所有带有前缀的节点个数统计
;WITH XMLNAMESPACES(
DEFAULT ‘http://schemas.microsoft.com/sqlserver/emp’
)
SELECT @xml.value(‘count(/employee/@*[namespace-uri()=“http://schemas.microsoft.com/sqlserver/location”])’, ‘int’) AS [count]

–sql:column() 函数
–将普通数据列和 xml 数据列进行合并

DECLARE @t TABLE (id INT , data XML)

INSERT INTO @t (id , data)
SELECT 1 , ‘二辉流氓’
UNION ALL
SELECT 2 , ‘彪流氓’
SELECT id ,
data=data.query(’
{sql:column(“id”)}
{/root/name}
{/root/type}
')
FROM @t

/*

id data


1 1二辉流氓
2 2彪流氓

*/

–根据一个xml 变量 与表中的值进行关联查询

DECLARE @tb TABLE (id INT)
INSERT INTO @tb(id)
SELECT 1 UNION ALL
SELECT 2 UNION ALL
SELECT 3

declare @XmlData xml
set @XmlData = ’

1二辉流氓
2彪流氓

SELECT t.id AS id
FROM @tb t
CROSS APPLY @XmlData.nodes(’/root/rogue/typeid[. = sql:column(“id”)]’) a(x)

–string-length() 函数 和 number() 函数
–提取长度为5的数字
DECLARE @t TABLE (CustomerID INT, CustomerAddress VARCHAR(50))
INSERT INTO @t(CustomerID, CustomerAddress)
SELECT 1, ‘12 20 97TH STREET NEW GARDENS, NY 11415 APT 8P’ UNION ALL
SELECT 2, ‘20-10 93RD STREET #8A VICTORIA NY 11106 19TH FLR’ UNION ALL
SELECT 3, ‘290 BERKELEY STREET APT24D NYC, NY 10038’ UNION ALL
SELECT 4, ‘351-250 345 STREET PANAMA BEACH 11414 APT4F’

;WITH cte AS (
SELECT
CustomerID,
CAST(’’ +REPLACE(CustomerAddress, ’ ‘, ‘’) + ‘’ AS XML).query(’.’) AS CustomerAddress
FROM @t
)
SELECT
CustomerID,
x.i.value(’.’, ‘VARCHAR(10)’) AS ZipCode
FROM cte
CROSS APPLY CustomerAddress.nodes(’//i[string-length(.)=5][number()>0]’) x(i)

/*
CustomerID ZipCode


1 11415
2 11106
3 10038
4 11414
*/

–使用 contains() 函数进行模糊查询
SELECT a.x.value(‘name[1]’ , ‘varchar(10)’)
FROM @x.nodes(’/root/rogue/hobo’) a (x)
CROSS APPLY a.x.nodes(‘type[contains(.,“臭流氓”)]’) b (y)

SELECT t.c.query(’.’)
FROM @x.nodes(’/root/rogue/hobo[./type[contains(.,“臭流氓”)]]’) t ©

sql server XML中value(),exists(),nodes()方法相关推荐

  1. SQL Server查询中特殊字符的处理方法

    来源:http://database.51cto.com/art/201009/227766.htm SQL Server查询中,经常会遇到一些特殊字符,比如单引号"'"等,这些字 ...

  2. SQL Server 2005 中的客户端 XML 处理

    SQL Server 2005 中的客户端 XML 处理 XML 数据类型的客户端支持 .NET 框架 V2.0 中的 ADO.NET XML 支持 在 SqlDataReader.GetSqlXml ...

  3. 打破第一范式的要求 (中英对照)Michael Rys 对 SQL Server 2005 中XML 的 评论——对微软SQL Server项目经理Michael Rys博士的采访

    Michael Rys on XML in SQL Server 2005 Michael Rys对SQL Server 2005中XML的评论 Michael Rys is one of two p ...

  4. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  5. Visual C# 2008+SQL Server 2005 数据库与网络开发--9.1.1 SQL Server 2005中的XML功能

    在SQL Server 2005中,对XML的支持已经集成到数据库本身的所有组件中,主要包括以下几方面. 支持XML格式的数据类型. 可以对XML格式的数据或者变量进行XQuery的查询. 增强了XM ...

  6. SQL Server数据库中批量导入数据的四种方法总结

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...

  7. SQL Server 2005中专用管理员连接 (DAC) 使用技巧修改系统表的方法

    Server 2005 专用管理员连接 (DAC) 使用技巧 1 什么是专用管理员连接? SQL Server 2005 为管理员提供了一种特殊的诊断连接,以供在无法与服务器建立标准连接时使用. 2 ...

  8. SQL SERVER 2008中使用VARBINARY(MAX)进行二进制数据存取的实现方法

    在数据库应用项目开发中,经常会使用一些二进制的图像数据,存储和读取显示图像数据主要采用的是路径链接法和内存流法.路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称,此方法数据 ...

  9. 如何通过数据库SQL Server 2014中的SQL日期格式化语句来转换出我们需要的日期格式化日期时间格式转换的教程方法

    如何通过数据库SQL Server 2014中的SQL日期格式化语句来转换出我们需要的日期格式化日期时间格式转换的教程方法 作者:张国军_Suger 开发工具与关键技术:SQL Server 2014 ...

最新文章

  1. IBM WebSphere Application Server 诊断和调优
  2. hdu5056(找相同字母不出现k次的子串个数)
  3. kaggle中的MAP理解
  4. 02-Popover代码实现
  5. Matlab图像剪切,超出图像区域指定颜色填充
  6. java怎么中断流_JAVA代码运行中断
  7. 收缩sqlserver事务日志
  8. char varchar nchar nvarchar 四者的区别是什么(为何SQL Server自动给字符串末尾加空格)...
  9. Linux的sigevent结构----mq_notify()实例
  10. Linux查看文件内容的几种方式
  11. 直方图 (histogram)
  12. Hibernate之组件映射
  13. 入门到精通pl/sql编程(千里之行始于足下)之触发器
  14. STM32跑马灯实验蜂鸣器实验按键输入实验NVIC中断优先级管理
  15. realme刷机鸿蒙教程,realme手机全机型解锁bootloader教程,支持一键刷机root权限
  16. 详解C语言中的使用(取地址符)
  17. R语言survival包coxph函数构建cox回归模型、ggrisk包ggrisk函数可视化Cox回归的风险评分图、使用cutoff包基于最小p值法方法计算最佳截断值(基于LIRI基因数据集)
  18. pl330 dmac驱动分析1--数据结构
  19. 小米的智能家居全套下来需要多少钱?
  20. Java基础语法,函数的定义与调用(比较两个数的大小)

热门文章

  1. 如何将exe添加到windows本地服务
  2. callee与caller的区别
  3. 什么是redux?redux概念及应用
  4. Pd虚拟机安装系统提示 “网络初始化失败 操作失败 ”的解决方案
  5. [Java][详解]使用jintellitype实现键盘全局监听
  6. FTP服务器文件的批量下载
  7. SpringBoot中通过Redis的setnx和自定义注解@Idempotent实现API幂等处理
  8. Microsoft SQL Server笔记整理
  9. 51cto mysql下载_安装Mysql服务_大神程序员养成之路-Mysql数据库基础_MySQL视频-51CTO学院...
  10. Python学习(二)列表,for循环,切片,元组