SQL Server
一人一旧城
这个人比较懒
展开
-
SQLServer 时间段分隔,时间段查询,查询时间段内的数据
我们经常碰到需要查询时间段内的数据,以下函数能有所有帮助,有了这个table后可以将需要分段查询的数据left join 关联该表,然后就可以分组求和了,具体如何使用得看大家的情景将一天的时间进行时间段分隔,效果如下--这是一个写好的函数,复制代码执行就好,调用方式:SELECT * FROM dbo.fun_getDateTimeSpacing('', 120...原创 2019-12-19 11:56:04 · 7979 阅读 · 1 评论 -
SQLServer 获取当前时间最近的整点时间
SELECT CAST(DATENAME(YEAR, DATEADD(mi, 30, GETDATE())) + '-' + DATENAME(MONTH, DATEADD(mi, 30, GETDATE())) + '-' + DATENAME(DAY, DATEADD(mi, 30, GETDATE())) + ' ' + DATENAME(HOUR, DATEADD(mi...原创 2019-12-19 10:02:46 · 2841 阅读 · 0 评论 -
SQL远程服务器查询常用语法
--创建链接服务器EXEC sp_addlinkedserver 'HWY', '', 'SQLOLEDB ', '远程服务器名或ip地址'--创建远程服务器EXEC sp_addlinkedsrvlogin 'HWY', 'false ',null, '用户名', '密码'--登录远程服务器EXEC sys.sp_dropserver @server = 'HWY', @droplo...转载 2019-11-20 14:26:19 · 489 阅读 · 0 评论 -
SQLServer中添加表注释
--表注释EXEC sys.sp_addextendedproperty @name = N'MS_Description', @value = N'注释内容', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'表名'--字段注释EXEC sy...转载 2018-07-13 20:30:55 · 3903 阅读 · 0 评论 -
SQL 按照中文首字母排序
CREATE TABLE AWord( PY varchar(10), ZW nvarchar(10)) ON [PRIMARY]GO--插入数据insert into awordselect 'A',N'骜'union all select 'B',N'簿' union all select 'C',N'错' union all select 'D',N'鵽' union转载 2013-11-29 08:37:19 · 2303 阅读 · 0 评论 -
sqlserver 各种判断是否存在(表名、函数、存储过程等)
库是否存在 if exists(select * from master..sysdatabases where name=N'库名') print 'exists'elseprint 'not exists'--------------- -- 判断要创建的表名是否存在 if exists (select * from dbo.sysobjects where id = objec转载 2013-12-21 13:22:05 · 1013 阅读 · 0 评论 -
SQLserver 在存储过程中创建函数,创建视图
alter PROCEDURE usp_sumgoods(@supplierid VARCHAR(50)) asBEGINif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetMain]') and xtype in (N'FN', N'IF', N'TF')) -- 删除函数 drop原创 2013-12-21 23:57:18 · 2722 阅读 · 0 评论 -
sql 两个表条件相同的字段拼接
效果图如下将表1 的email字段和表2的email字段进行拼接成一条数据具体实现功能如下使用函数进行拼接USE [ERP]GO/****** Object: UserDefinedFunction [dbo].[GetEmailAddress] Script Date: 12/26/2013 13:43:04 ******/SET ANSI_NULLS ON原创 2013-12-26 13:43:37 · 3559 阅读 · 0 评论 -
sql 使用触发器自定义动态自增值
USE [ERP]GO/****** Object: Trigger [dbo].[setCostApplicationno] Script Date: 12/26/2013 20:23:17 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER TRIGGER [dbo].[setCostA原创 2013-12-26 20:23:30 · 706 阅读 · 0 评论 -
sqlserver substring函数
在操作sqlserver时候用到了substring函数 SUBSTRING ( expression, start, length ) 参数 expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。 length 整数或可以隐转载 2013-12-27 08:22:34 · 586 阅读 · 0 评论 -
sql convert用法
CONVERT的使用方法: 格式: CONVERT(data_type,expression[,style]) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到. 例子: SELECT CONVERT(varchar(30),getdate(),1转载 2013-12-27 08:26:16 · 738 阅读 · 0 评论 -
sql动态行转列
create table tb(username varchar(10) , kecheng varchar(10) , fenshu int)insert into tb values('张三' , '语文' , 74)insert into tb values('张三' , '数学' , 83)insert into tb values('张三' , '物理' , 93)insert转载 2013-12-28 18:48:28 · 1000 阅读 · 0 评论 -
SQL 存储过程实现行转列、手动增加列、列的个数由不同的行数决定
alter procedure get_purchase_goodsinfo_all(@supplierid int)asbegindeclare @sql varchar(max)select @sql = 'select a.*,b.欠料数,b.紫色,b.红色,b.单价 from ('set @sql = @sql + 'select goodsNo,cnname'se原创 2013-12-30 21:26:20 · 1603 阅读 · 0 评论 -
sql server 将字符串转换成表
ALTER FUNCTION fun_GetIDTable (@str NVARCHAR(MAX) )RETURNS @tab TABLE ( ID INT )AS BEGIN DECLARE @i INT SET @str = RTRIM(LTRIM(@str)) SET @i = CHARINDEX(',', @str)转载 2014-07-30 15:14:47 · 3194 阅读 · 0 评论 -
SQL自定义自增列(通用存储过程)
ALTER PROCEDURE GetOrderCode ( @NO VARCHAR(MAX) , --前缀 @TableName VARCHAR(25) , --表名 @ColumnIDName VARCHAR(300) --表中自增列的字段 )AS BEGIN DECLARE @MaxId INT原创 2014-08-28 01:35:44 · 1472 阅读 · 0 评论 -
sql 计算法定假节假日解决方案一
最近在做请假单,请假时长需要去掉法定假日和公休假,法定假日我不会算网上也没找到类似的资料。所以我打算创建一个表,自动根据年份条件生成公休假,然后手动编辑添加法定假日。然后再用它去关联请假数据得出实际请假时长。下面就是根据年份生成的公休假日期。DECLARE @Work_LegalHoliday TABLE ( ID VARCHAR(36) ,原创 2015-07-12 22:25:30 · 11671 阅读 · 0 评论 -
更改数据库字符集
alter database DBName collate Chinese_PRC_CI_AS原创 2015-08-13 16:44:07 · 397 阅读 · 0 评论