
MSSQL
文章平均质量分 60
damo_baby
喜交IT高手交流
展开
-
mssql 中文转拼音首字母
在做列车时刻表进行搜索时用到中文转拼音首字母时需要以下函数Create function fun_getPY ( @str nvarchar(4000) ) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY= while len(@str)>0原创 2007-12-28 12:47:00 · 1126 阅读 · 0 评论 -
SQL超长8000问题的处理方法
--SQL超长8000问题DECLARE @S VARCHAR(MAX)--SET @S =REPLICATE ('TEXT1',80000)set @S=replicate(convert(varchar(max),'1'),90000)SELECT LEN(@S )原创 2012-02-26 15:51:39 · 1077 阅读 · 0 评论 -
EXCEL 上传不了的解决方法
EXCEL 上传不了解决 安装 AccessDatabaseEngine.exe 配置管理 把这2项属性里的 内置账号改成 local system 点击右键 找到方面 点击进去找到外围服务器 把下面的 改成turn 语句: declare @excfile varchar(100),@原创 2012-04-03 13:03:07 · 4292 阅读 · 0 评论 -
SQL Server修改标识列方法 如自增列的批量化修改
最近在运行系统时需要对所有服务器上数据结构进行批量修改某个字段的自增属性改成非自增。通过界面设计上是能手工操作的,无法达到我批量修改几千台服务器。因为此了一个脚本来批量执行。环境:redgate + mssql 2008 r2 以下代码根据自己的业务稍做修改即使用。--允许对系统表进行更新exec sp_configure 'allow updates',1reconf原创 2012-04-19 19:54:34 · 4981 阅读 · 0 评论 -
【SQL分享】求字符串中汉字的个数【经典】
关于这个话题,我也看到网上有其他方法来解决。不过从性能和代码量上来看,我有更好的办法。在这里和大家 分享。原理其实很简单,知识1、长度函数 len();知识2、还是长度函数datalength(); 详细代码如下:declare @sql varchar(1000)set @sql='abc国m,de中d国e人民f'select @sql 字符,DATALE原创 2012-05-21 15:42:13 · 1967 阅读 · 1 评论 -
【SQL分享】去除字符串中连续的分隔符【经典】
以下测试用于去除任何字符串中连线的分隔符。 --去除字符串中连续的分隔符declare @str nvarchar(200)declare @split nvarchar(200),@times intset @str='中 国1 2 34 55 5 6 7 7';--字符set @split=' '; --分隔符select @times=(len(@str)-原创 2012-05-22 14:00:58 · 2250 阅读 · 0 评论 -
【SQL分享】根据字符分割字符串的最好的写法【经典】
因数据库中保存的是以,号分隔的数据,需要在界面上以表格的方式显示出来。特想出以下方法。知识点:1、拼接SQL2、UNION ALL 3、EXEC 其代码如下:--测试示例declare @sql varchar(2000),@tsql nvarchar(max),@split varchar(100)set @sql='A,B,C,D,E' --保存的字符原创 2012-05-22 16:06:58 · 830 阅读 · 0 评论 -
【过程分享】系统库的运行sp_msforeachdb 【经典】
对于多库的执行同一个对象,如存储过程,函数、视图,等,都只需要在master库上新建一个对象后。在其他库中均可以引用。知识点1、master库2、标记系统过程3、sp_msforeachdb 的使用4、sp_MS_marksystemobject 标记系统 过程 代码如下:1、master库中 创建存储过程过程,如 sp_transfer_批量发货成功,存储过程名原创 2010-11-11 22:55:00 · 651 阅读 · 0 评论 -
【函数分享】快速生成汉字的首拼字母【经典】
经常要对姓名按拼音搜索。所以需要做如下函数来快速获取首拼代码如下:USE [tempdb]GO/****** Object: UserDefinedFunction [dbo].[fun_getPY] Script Date: 05/23/2012 18:03:45 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIE原创 2012-05-23 18:16:10 · 1620 阅读 · 1 评论 -
【SQL分享】字符串左对齐或右对齐显示
在显示数据时需要对数据进行美观化显示。如左对齐,右对齐。知识点:函数 replicate 以下代码是实现如下功能:declare @sql varchar(200), --需填充的字符串@char varchar(4), --填充使用的字符 @len int --填充后的长度 select @sql='abc' select @c原创 2012-05-24 16:12:25 · 7385 阅读 · 0 评论 -
使用SQL进行IIS日志中的访问记录统计
背景:需要给客户查询哪些IP访问了软件。并查出IP的地址。只能通过查IIS的日志数据了。以下方法需要知识:SQL IIS日志中记录了,网站页面的所有访问记录,包括时间、获取方法、文件的URL、访问者IP,以及协议状态(200是正常)。(更多信息可查看百度百科 IIS日志) 具体方法为:将IIS日志导入数据库中,使用SQL查询语句分析日志中统计原创 2012-07-04 16:01:17 · 4097 阅读 · 0 评论 -
【通用】获取表结构、索引、主外键的存储过程
非常实用的SQL,希望大家喜欢。 ---------------Table2012/7/30 19:29:05---------------------use mastergo CREATE PROCEDURE sp_helptableinfo ( @tableName VARCHAR(50), @ShowTag VARCHAR(50) = ''原创 2012-07-31 23:47:26 · 1170 阅读 · 0 评论 -
查询硬盘盘符剩下的大小
最近因项目需求检查所有服务器的盘符硬盘大小,以确定是否需要执行任务。sp_help 'xp_fixeddrives'drop table tcreate table t(drive varchar(200),b varchar(200))insert t(drive,b)exec xp_fixeddrivesselect * from t where drive='D'原创 2012-02-07 13:44:04 · 475 阅读 · 0 评论 -
sql server行级锁,排它锁,共享锁的使用
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出原创 2011-09-11 13:44:41 · 1147 阅读 · 0 评论 -
行列转换
drop table tableacreate table tablea(name varchar(50),a varchar(50),b int)insert into tablea(name,a,b)select 入库,单位a,3 insert into tablea(name,a,b)select 入库,单位e,3 insert into tablea(name,a,原创 2008-01-09 16:09:00 · 663 阅读 · 0 评论 -
SQL下三种执行CMD命令的方法
SQL下三种执行CMD命令的方法:先删除7.18号日志:(1)exec master.dbo.xp_cmdshell del C:/winnt/system32/logfiles/W3SVC5/ex050718.log >c:/temp.txt(2)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT原创 2008-01-11 13:36:00 · 24215 阅读 · 0 评论 -
精妙的SQL的数据导入导出转换
熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在 Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细原创 2008-01-11 13:31:00 · 951 阅读 · 0 评论 -
动态导出数据到文本/xls/sql/doc文件
select IDENTITY(int, 1,1) AS [id],insert into tt(filetype,Brand,ProdNo,ProdType ,filetitle,C0001,Tmoney,HttpUrl,parentid) values( ++G++, ++isnull(a.EC0102,)++, ++isnull原创 2008-06-05 19:34:00 · 931 阅读 · 0 评论 -
主键、外键对照(简化)
--主键、外键对照(简化)selectfc_obj.name as CONSTRAINT_NAME,i.name as UNIQUE_CONSTRAINT_NAMEfrom sysobjects fc_obj,sysreferences r,sysindexes i,sysobjects pc_objwhere原创 2008-06-21 09:57:00 · 596 阅读 · 0 评论 -
用Sql语句生成Sqlserver数据字典
因为在研究他们的数据结构时 经常遇到的问题是对其数据结构不太了解,需要花很长时间去看懂现在,我的博客中的相关文章会提到一些系统的学习资料,谢谢大家提出意见和更好的思路。SELECT 表名=case when a.colorder=1 then d.name else end, 字段序号=a.colorder, 字段名=a.name, 标识=case原创 2008-06-21 10:02:00 · 664 阅读 · 0 评论 -
MS-SQL数据库开发常用汇总
1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密:select encrypt(原始密码)select pwdencrypt(原始密码)select pwdcompare(原始密码,加密后密码) = 1--相同;否则原创 2008-06-21 09:00:00 · 589 阅读 · 0 评论 -
批量修改数据结构
说明:最新公司的产品要更新数据结构,客户数量大概在万级以上,每个客户都是单独的数据库,需要将所有表中金额类型的字段变成默认值为0 SELECT 表名=case when a.colorder=1 then d.name else end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY( a.原创 2008-09-20 18:13:00 · 654 阅读 · 0 评论 -
使用远程桌面时超出最大连接数如何解决?
最近总是因为使用远程桌面时超出最大连接数,没办法只能去机房重启机器今天突然发现原来有如此简单的操作就可以实现。现分享如下:、1、通过一台服务器的企业管理器登录远程的服务器2、点击开远程的企业管理器,然后打开查询分析器中 在远程的查询分析器中执行以下命令exec xp_shellcmd 'quser' --显示目前登录的账号exec xp_shellcmd 'logoff 2' --注册ID是2的登录账号。原创 2010-12-01 10:10:00 · 773 阅读 · 0 评论 -
批量添加登录账号
<br />最近遇到一批服务器要换账号,所以想到用SQL 来实现<br />非常方便。<br />--添加账号<br /> EXEC master..Xp_cmdshell 'Net user adm 密码 /add ' <br />--授权为管理员权限<br /> EXEC master..Xp_cmdshell 'Net localgroup administrators adm /add'<br /> <br />--禁用帐户<br />EXEC master..Xp_cmdshell 'Net us原创 2011-01-10 16:49:00 · 763 阅读 · 0 评论 -
设置为系统过程后所有数据库均可使用
<br />最近数据特别多。想只用一个函数。升级也方便,特想出以下办法<br /> <br />sp_ms_marksystemobject 'sp_edb_ppp_WangWang'<br /> <br />insert into ppp..pppsys_job(runpl,c原创 2011-03-07 12:47:00 · 598 阅读 · 2 评论 -
SQL SERVER 生成表结构的语句
通过表名生成表结构原创 2015-09-01 15:44:16 · 1639 阅读 · 0 评论