随笔分类 -  TSQL

摘要:统计一个字符在字符串里出现的次数 背景在数据库操作中,统计字符串中某个特定字符出现的次数是一个常见需求。无论是分析文本数据、格式化字符串,还是确保数据一致性,字符出现次数的统计对于开发人员和数据库管理员来说都是一项重要任务。这个问题看似简单,但可以通过数据库管理系统的内置函数高效解决,避免复杂的循环 阅读全文
posted @ 2024-09-24 09:00 桦仔 阅读(1605) 评论(11) 推荐(5) 编辑
摘要:生成1到300个数字的方法 方法一 cross join 方法二 while循环 方法三 CTE递归 阅读全文
posted @ 2016-07-12 14:37 桦仔 阅读(3563) 评论(3) 推荐(2) 编辑
摘要:在一个SQL Server表中一行的多个列找出最大值有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示这里给出一个例子IF (OBJECT_ID('tempdb..##TestTable') IS NOT NULL) DROP TABLE ##TestTableCR... 阅读全文
posted @ 2015-10-21 22:19 桦仔 阅读(20566) 评论(6) 推荐(6) 编辑
摘要:SQLSERVER用无中生有的思想来替代游标昨天在MSDN论坛看到一个帖子,帖子中LZ需要根据某列的值把其他列的值插入到额外列帖子地址:http://social.technet.microsoft.com/Forums/zh-CN/3eac78ca-d071-4c00-afa0-ef48c8501745/sql-statementcolumn-namecolumnsql-建表脚本: 1 USE tempdb 2 GO 3 4 --建表 5 CREATE TABLE t1 6 ( 7 client VARCHAR(10) , 8 pay_level INT , 9 pay_lv_... 阅读全文
posted @ 2013-08-30 11:04 桦仔 阅读(4289) 评论(5) 推荐(3) 编辑
摘要:SQLServer中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数SQLServer中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数 先来创建一个测试表 1 USE [tempdb] 2 GO 3 4 CREATE TABLE #temptb(id INT ,NAME VARCHAR(200)) 5 GO 6 7 INSERT 阅读全文
posted @ 2013-08-25 13:14 桦仔 阅读(14184) 评论(6) 推荐(6) 编辑
摘要:处理表重复记录(查询和删除)查询1、Name相同的重复值记录,没有大小关系只保留一条2、Name相同,ID有大小关系时,保留大或小其中一个记录一、用于查询重复处理记录(如果列没有大小关系时SQL2000用生成自增列和临时表处理,SQL2005用row_number函数处理)生成测试数据 1 IF NOT OBJECT_ID('Tempdb..#T') IS NULL 2 DROP TABLE #T 3 Go 4 CREATE TABLE #T 5 ( 6 [ID] INT , 7 [Name] NVARCHAR(1) , 8 [Memo] NVARCHAR(2) 9 )1... 阅读全文
posted @ 2013-08-24 00:42 桦仔 阅读(1787) 评论(0) 推荐(0) 编辑
摘要:快速断开当前数据库的所有连接的方法 以前我喜欢执行这个脚本,然后当要断开所有连接的时候就执行一下这个脚本,但是当我重装SQLSERVER的时候,又要在代码库里 找到这个脚本执行觉得很不方便,实际上分离数据库也能够断开所有连接 但是今晚我发现其实分离数据库更快,不过唯一不方便的地方是,分离数据库之后, 阅读全文
posted @ 2013-06-10 23:40 桦仔 阅读(15158) 评论(4) 推荐(0) 编辑
摘要:SQLSERVER改变已有数据表中的列包括改变字段的位置,增加列,更改列名称,更改列数据类型,列长度,增加标识列,增加主键,约束上面这些在做数据库升级或者迁移的时候很多时候都要用到的1.改变字段位置,只需要在表设计器中拖动字段到其他地方直接在表设计器中,拖动字段到别的位置,然后点击保存2.添加新列例如为adventurworks数据库中employees表添加备注列(Comment),数据类型为字符型(变长型,长度50字符),该列允许为空1 ALTER TABLE table_name2 ADD column_name data_type NULL1 USE [AdventureWorks]2 阅读全文
posted @ 2013-04-30 14:53 桦仔 阅读(5453) 评论(0) 推荐(1) 编辑
摘要:如何查看SQLSERVER的版本信息和SP补丁信息 打开SQLSERVER配置管理器,然后用鼠标左键双击打开属性对话框,然后选择高级选项卡就可以看到SQL的版本信息 以前经常使用以下语句来看版本信息,SP版本,现在双击一下鼠标就可以看到了,最重要的是方便客户,无理由叫客户写SQL语句来查看吧 SEL 阅读全文
posted @ 2013-01-29 00:08 桦仔 阅读(16048) 评论(0) 推荐(1) 编辑
摘要:SQL Server char nchar varchar nvarchar的区别 今天在论坛里看到有人激烈讨论这几个数据类型的区别跟实际使用情况,很多人都搞不清楚究竟哪个场景使用哪个数据类型 具体的编码方式:就是存储到电脑硬盘里面的表示方式,读到内存的时候实际上不管在电脑硬盘里是什么编码方式,在内 阅读全文
posted @ 2012-08-31 20:44 桦仔 阅读(3763) 评论(0) 推荐(3) 编辑
摘要:在使用SQL2005的时候经常会碰到XXproperty()的函数,现在归纳一下,有些函数比较重要1、serverproperty 作用:返回有关服务器实例的属性信息。 实例:SELECT CONVERT(char(20), SERVERPROPERTY('servername')) --返回服务器的计算机名; SELECT SERVERPROPERTY('productversion'),SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') --判断SQL SER 阅读全文
posted @ 2012-05-22 19:37 桦仔 阅读(1352) 评论(0) 推荐(2) 编辑
摘要:1 SELECT 2 (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空 syscolumns(表字段信息表) a sysobjects d 3 a.colorder as 字段序号, 4 a.name as 字段名, 5 (case when COLUMNPROPERTY( a.id,a.name, 'IsIdentity' )=1 then '√' else '' end) as 标识, --返回IsIdentity的值,IsIdentity只 阅读全文
posted @ 2012-04-18 21:46 桦仔 阅读(1441) 评论(0) 推荐(2) 编辑