随笔分类 - SQL
摘要:需求背景每执行一次方法,根据公式返回最新的流水号。第一次使用时需要先插入一条数据,BizSeqValue 为流水起始号:A2014030000,Formula 为公式:A[yyyy][mm][c4],UseTime 为当前时间。创建流水号表CREATE TABLE [dbo].[SM_BizSeqNo]( [BizSeqID] [int] IDENTITY(1,1) NOT NULL, [BizSeqValue][nvarchar](50) NULL, [BizSeqName] [nvarchar](50) NULL,[UseTime] [datetime] NULL, ...
阅读全文
摘要:select into 创建的表属于临时表,判断是否存在的方法IF OBJECT_ID( 'tempdb..##TEMP_COPTD') IS NOT NULLBegin DROP TABLE ##TEMP_COPTDEnd
阅读全文
摘要:/****** Object: UserDefinedFunction [dbo].[FSysSplit] Script Date: 06/28/2011 09:04:51 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER FUNCTION [dbo].[FSysSplit](@Long_str varchar(8000),@split_str varchar(100)) RETURNS @tmp TABLE( ID int IDENTITY PRIMARY KEY, short_str varchar(8000) ) AS B
阅读全文
摘要:http://topic.csdn.net/u/20100710/10/b3fbaef9-af39-454a-9c34-b48d207532a8.html--先看几个过程的执行--先创建我们一般的写法CREATE PROC P(@S VARCHAR(1)='A')ASSELECT @SGOEXEC PGO--1ALTER PROC P (@S DECIMAL=A)AS SELECT @SGOEXEC PGO/*服务器: 消息 8114,级别 16,状态 5,过程 P,行 0将数据类型 nvarchar 转换为 numeric 时出错。*/--2ALTER PROC P (@S
阅读全文
摘要:if not object_id('Tempdb..#T') is null drop table #TGoCreate table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2))Insert #Tselect 1,N'A',N'A1' union allselect 2,N'A',N'A2' union allselect 3,N'A',N'A3' union allselect 4,N'B',N'B1&
阅读全文
摘要:CREATE TABLE #tb(列名1 varchar(12),时间 datetime)INSERT INTO #tbSELECT '03174190188','2009-11-01 07:17:39.217' UNION ALLSELECT '015224486575','2009-11-01 08:01:17.153' UNION ALLSELECT '013593006926','2009-11-12 08:04:46.560' UNION ALLSELECT '0135995842
阅读全文
摘要:DECLARE@ttable(姓名varchar(10))insertinto@Tvalues('张三')insertinto@Tvalues('李四')insertinto@Tvalues('王二')insertinto@Tvalues(NULL)DECLARE@T2table(姓名varchar(10),课程varchar(10),分数int)insertinto@T2values('张三','语文',74)insertinto@T2values('张三','数学',83)ins
阅读全文
摘要:declare @sql varchar(8000)select @sql = isnull(@sql + ',' , '') + 课程 from tb group by 课程exec ('select m.* , n.平均分 , n.总分 from(select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b) m , (select 姓名 , cast(avg(分数*1.0) as decimal(18,2)) 平均分 , sum(分数) 总
阅读全文
摘要:-- specify the number of rows you want -- to delete per 'gulp':DECLARE @count intSET @count = 2000-- keep track of the number of rows-- impacted by each gulp... once it-- drops below the intended number of rows-- then you're done... DECLARE @rowcount intSET @rowcount = @count-- keep date
阅读全文
摘要:表table_A: 路线代码 起点 终点 起点桩号 终点桩号 Y440608 大湾 石柱 0.56 2.35 Y440608 石柱 观音桥 2.35 8.52 Y440608 观音桥 芦溪 8.52 11.98 Y440605 龙桥 磙子河 36.58 56.32现在要写一条sql 让结果这样 路线代码 起点 终点 起点桩号 终点桩号 Y440608 大湾 芦溪 0.56 11.98 Y440605 龙桥 磙子河 36.58 56.32问题分析:1、典型的自联接问题;2、首先查找同一编码下的起点最小值和最大值的两条记录;3、选择同一编码下,最小的起点和最大的终点值,自关联出一条记录;4、使用m
阅读全文