随笔分类 -  SQL学习

在工作过程中使用SQL时的一些技术性问题
摘要:create function dbo.F_Get_No(@No varchar(100))RETURNS bigintASBEGINWHILE PATINDEX('%[^0-9]%',@No)>0BEGINSET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分ENDRETURN CONVERT(bigint,@No)END此函数可以返回某字符串中的数字部分PATINDEX函数 返回所查内容在字符串中第一次出现的索引STUFF函数 删除指定长度的 阅读全文
posted @ 2014-03-20 19:42 马建康 阅读(2667) 评论(0) 推荐(0)
摘要:exec sp_addlinkedserver 'link_northsnow','','SQLOLEDB','127.0.0.1'exec sp_addlinkedsrvlogin 'link_northsnow','false',null,'sa','password' 阅读全文
posted @ 2013-07-18 21:32 马建康 阅读(189) 评论(0) 推荐(0)
摘要:有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。Jet 引擎大家都很熟悉,可以访问 Office 97-2003,但不能访问 Office 2007。ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。语法举例:-->J 阅读全文
posted @ 2011-03-04 20:04 马建康 阅读(2039) 评论(0) 推荐(0)
摘要:declare @t table(a int,b int) insert into @t select 12, 34 union all select 12, 56 union all select 12, 23 union all select 13, 33 union all select 14, 11 union all select 14, 15 select *,c=(select co... 阅读全文
posted @ 2010-10-21 14:31 马建康 阅读(569) 评论(0) 推荐(0)
摘要:一般來說, 俱有 identity 屬性欄位的 table 的目前值可以很容易地利用 max 函數來取得. 不過, 也很有可能 max 該筆資料已被刪除了, 所以利用 max 查找出來的結果不正確.但又若是要找出下一個 identity 的值呢? 就一定得知道漸增量 (increment) 為何了, 否則是沒有辦法計算出來的.請先參考這篇文章: SQL Server的Identity欄位使用/複製... 阅读全文
posted @ 2010-09-07 10:50 马建康 阅读(308) 评论(0) 推荐(1)
摘要:增加字段说明:EXECUTE sp_addextendedproperty N'MS_Description', '转档ID', N'user', dbo, N'table', BAS_CATEGORY_DAT, N'column', TransId;第1,3,5,7个参数固定第2个参数为具体的说明第4个参数为用户名第6个参数为表名第8个参数为字段名修改字段说明:EXECsp_updateexte... 阅读全文
posted @ 2010-05-21 17:01 马建康 阅读(298) 评论(0) 推荐(0)
摘要:mysql中随机提取数据库记录-------------------------------------------------------------------------------- select * from tablename order by rand() limit 10sqlserver中随机提取数据库记录-------------------------------------... 阅读全文
posted @ 2009-11-06 17:04 马建康 阅读(254) 评论(0) 推荐(0)
摘要:问题描述:当你把数据从其他数据库, 或者是文本文件之类的其他数据源导入到目的数据库时, 有时希望在导入的处理中, 能够实现"数据存在时更新, 不存在时导入"在之前, 一般是通过导入临时表, 然后再判断处理导入正式表的, 在SQL Server 2005中, SSIS可以在导入处理时直接完成这种处理.下面具体演示一下如何用SSIS完成这样的处理:1. 准备测试环境-- 1. 在数据库中创建下面的对象... 阅读全文
posted @ 2009-08-19 14:35 马建康 阅读(1064) 评论(1) 推荐(0)
摘要:将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2005,可以用ssis来定制任务.下面用大量图片完全说明整个过程.1、建立测试excel文件,假设有a b c d四个字段,保存在f:\excel目录下并复制很多个一样的文件2、打开Microsoft Visual Studio 2005或者随sql2005安装的SQL Server Business Intelligence ... 阅读全文
posted @ 2009-08-19 14:32 马建康 阅读(1735) 评论(1) 推荐(1)
摘要:SELECT [Table Name] = OBJECT_NAME(c.object_id), [ColumnName] = c.name, [Description] = ex.value FROM sys.columns c LEFT OUTER JOIN sys.extended_properties ex ON ex.major_id = c.object_id AND... 阅读全文
posted @ 2009-08-17 13:46 马建康 阅读(213) 评论(0) 推荐(0)
摘要:字符串汇总问题,在SQL Server 2000下受推荐的方式为:用户定义函数。具体处理方法及实现请参考:-----------------------------------------------------------------------------------------生成测试数据create table 表(部门 int,人员 varchar(20))insert into 表 s... 阅读全文
posted @ 2009-08-14 13:40 马建康 阅读(996) 评论(0) 推荐(0)
摘要:在指定字符中找到对应的英文大写信息CREATE function Get_StrArrayStrOfIndex(@str varchar(1024), --要分割的字符串@split varchar(10), --分隔符号@index int --取第几个元素)returns varchar(1024)asbegindeclare @location intdeclare @start intde... 阅读全文
posted @ 2009-07-06 15:23 马建康 阅读(1114) 评论(0) 推荐(0)
摘要:1.--------------------------ALTER Function [dbo].[fn_LowerToUpperMoney](@num numeric(14,2)) RETURNS nvarchar(100) WITH ENCRYPTION AS BEGIN DECLARE @n_data nVARCHAR(20),@c_data nVARCHAR(100),@n_str... 阅读全文
posted @ 2009-07-06 11:09 马建康 阅读(1442) 评论(0) 推荐(0)