
数据库共通
zhvsby
持之以恒,低调做人,认真做事,踏实前进,不要急功近利,万事先稳住,后思考再去做
展开
-
IPv4地址的存储与查询
IPv4的地址实际上是一个4字节的数据。点分十进制的字符串表示是为了人工读写方便,但范围比较则是原始二进制形式方便。因此需要实现二者的相互转换--测试数据CREATETABLE #IPs( strIP varchar(15) NULL, binIP binary(4) NULL)GOINSERTINTO #IPs VALUES('0.0.0.0',NULL)INSERTINTO #IPs VALUES('255.255.255.255',NULL)INSERTINTO #IPs VALUES('转载 2010-11-12 17:10:00 · 1468 阅读 · 0 评论 -
--将一组查询结果按指定分隔符拼接到一个变量中
--将一组查询结果按指定分隔符拼接到一个变量中DECLARE @Datebases varchar(max)SET @Datebases = STUFF(( SELECT ','+name FROM sys.databases ORDER BY name FOR XML PATH('')),1,1,'')SELECT @Datebases原创 2010-11-12 14:50:00 · 709 阅读 · 0 评论 -
--拼接(Join),SQL Server 2005的FOR XML扩展可以将一个列表转成一个字串:
CREATE FUNCTION dbo.Get_Sale_User_Info (@Sale_No VARCHAR(10))RETURNS TABLEASRETURN SELECT t.Sale_Info_No, ColumnNames = STUFF( (SELECT ',' + c.Sale_User_Id FROM dbo.SplitTable_Sale_User_Info c WHERE c.Sale_Info_No = t.Sale_Info_No FOR XML PAT原创 2010-11-12 16:55:00 · 580 阅读 · 0 评论 -
--切分(Split),使用SQL Server 2005对XQuery的支持:
--切分(Split),使用SQL Server 2005对XQuery的支持:CREATE TABLE #ToSplit( TableName varchar(20) NOT NULL PRIMARY KEY CLUSTERED, ColumnNames varchar(max) NOT NULL)GOINSERT INTO #ToJoin VALUES('tblEmployee','EmployeeCode')INSERT INTO #ToJoin VALUES('tblEmployee',转载 2010-11-12 17:00:00 · 873 阅读 · 0 评论 -
树形结构的存储与查询
<br />数据库设计中常常会遇到需要存储树形结构,比如员工关系表、组织结构表,等等。<br /> <br /> <br /><br />--测试数据<br />CREATETABLE #Employees(<br /> EmployeeCode varchar(20) NOTNULLPRIMARYKEYCLUSTERED,<br /> ReportToCode varchar(20) NULL)<br />GO<br />INSERTINTO #Employees VALUES('A',NUL转载 2010-11-12 17:09:00 · 2709 阅读 · 0 评论 -
中文字符处理
<br /><br />--ASCII字符<br />SELECT n,x=CAST(n ASbinary(2)),u=NCHAR(n) FROM Nums WHERE n BETWEEN32AND126<br />--UNICODE中文字符<br />SELECT n,x=CAST(n ASbinary(2)),u=NCHAR(n) FROM Nums WHERE n BETWEEN19968AND40869<br />19968 0x4E00 一<br />40869 0x9FA5转载 2010-11-12 17:11:00 · 493 阅读 · 0 评论 -
合并分拆表_整理贴
<br />--合并分拆表<br />/******************************************************************************************************************************************************<br />合并分拆表数据<br /><br />整理人:中国风(Roy)<br /><br />日期:2008.06.06<br />******************转载 2010-11-13 15:50:00 · 514 阅读 · 0 评论 -
--将传入的一个参数按指定分隔符切分到一个表中
DECLARE@SourceIDsvarchar(max)SET@SourceIDs='a,bcd,123,+-*/=,x&y,'SELECT v = x.n.value('.','varchar(10)')FROM ( SELECT ValuesXML =CAST(''+ REPLACE((SELECT v =@SourceIDsFOR XML PATH('')),',','') + ''AS XML)) tCROSS APPLY t.ValuesXML.nodes('/原创 2010-11-12 16:23:00 · 649 阅读 · 0 评论 -
全角半角标点的转换
<br /><br />--full2half<br />CREATEFUNCTION[dbo].[full2half](<br />@Stringnvarchar(max)<br />)<br />RETURNSnvarchar(max)<br />AS<br />/*<br />全角(Fullwidth)转换为半角(Halfwidth)<br />*/<br />BEGIN<br /> DECLARE@chrnchar(1)<br /> DECLARE@iint<br /> SET@S转载 2010-11-12 17:13:00 · 832 阅读 · 0 评论