获取当月的天数列表
实现这个功能,先参考下面几篇博文《T-SQL获取二月份天数》https: www.cnblogs.com/insu archive/2011/04/22/2025019.html
《如何获取月份的天数》https: www.cnblogs.com/insu archive/2011/09/10...[2019/5/10]
判断临时表是否存在
在SQL开发过程中,经常需要创建临时表。在创建时,需要判断所创建的临时表是否存在,如果存在,把它DROP掉:
IF OBJECT_ID(''tempdb..#tempTable'') IS NOT NULL
BEGIN
DROP TABLE #tempTa...[2019/5/10]
获取指定日期所属年份的第一天日期或最后一天日期获取指定日期所属年份的第一天日期或最后一天日期
写了2个自定义函数,获取指定日期所在年份的第一天日期或最后一天的日期:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =======================================...[2019/5/10]
获取某一年的天数
在MS SQL Server中,获取某一年的天数。
你可以先参考下面这篇《获取指定日期所属年份的第一天日期或最后一天日期》 https: www.cnblogs.com/insu p/10839469.html
就可以使用MS SQL 的一个DATEDIFF函数算出这2个日期之间的日期间隔...[2019/5/10]
获取某一日期所在月份的第一天日期或最后一天日期获取某一日期所在月份的第一天日期或最后一天日期
获取指定日期所属月份的第一天日期:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Aut...[2019/5/10]
指定日期,判断其所属年份是否为闰年
很早以前,写过一个函数,是获取二月份的天数。《T-SQL获取二月份天数》https: www.cnblogs.com/insu archive/2011/04/22/2025019.html 其中这个函数内就此相关的判断:
SET ANSI_NULLS ON
...[2019/5/10]
拆分字符串存入表中
MS SQL 处理字符串,可以把字符串拆分为单独字符,转存入至一张表中。这样可以做到很多其它相关处理。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ===================...[2019/5/9]
计算字符串中各个字符出现的次数
DECLARE @strs NVARCHAR(100) = N''adgtryaserfg''
计算字符串中各个字符出现的次数,当然也可以计算某一字符出现的次数了。
解决这个问题,可以参考这篇《拆分字符串存入表中》https: www.cnblogs.com/insu p/1083...[2019/5/9]
SQL Server 完整备份遇到的一个不常见的错误
1. 错误详情
有一次在手动执行数据库完整备份时遇到如下错误:
执行多次都是这个错误信息。
提示无法生成检查点,原因可能是由于系统资源(如磁盘或内存空间)不足或者有时是由于数据库损坏而造成的。
我们检查数据库资源可以排除磁盘资源不足的情况。
2.检查点相关知识
...[2019/5/9]
SQL Server阻塞的检查
1. 阻塞
除了内存、CPU、I/O这些系统资源以外,阻塞和死锁是影响数据库应用性能的另一大因素。
所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话事务想要读取或修改的资源,造成这些会话发出的请求进入等待的状态。SQL Server 默认会让被阻塞的请求...[2019/5/9]
SQL Server Sleeping会话占用内存资源浅析?
在SQL Server中,会话的状态有运行(Running)、睡眠(Sleeping)、休眠(Dormant)、Preconnect 等状态,有时候你会在数据库中看到很多会话处于睡眠(Sleeping)状态,那么这些睡眠(Sleeping)状态的会话会消耗CPU、Memo...[2019/5/9]
SQL Server 完整备份遇到的一个不常见的错误及解决方法
1. 错误详情
有一次在手动执行数据库完整备份时遇到如下错误:
执行多次都是这个错误信息。
提示无法生成检查点,原因可能是由于系统资源(如磁盘或内存空间)不足或者有时是由于数据库损坏而造成的。
我们检查数据库资源可以排除磁盘资源不足的情况。
2.检查点相关知识
事务日...[2019/5/9]
随记sqlserver学习笔记
create database libraryDBgouse libraryDBgo--读者信息表create table ReaderInfo( ReaderId int not null primary key identity,--读者编号,表示列、自动增长,主键 ReaderNo var...[2019/5/8]
cmd 运行bcp 提示:'bcp' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
这个问题的原因是:bcp.exe文件的路径不在环境变量中,
我的环境:Windows10 ,SQL server2016(D:)
1.首先查找你的SQL Server2016的安装位置
找到快捷方式,右键打开文件位置,即可查看到
D:\Program Files (x86)...[2019/5/8]
表结构查询 Sql
select row_number() over(order by a.column_id) rownumber, a.name,
case
when t.name in (N''decimal'', N''numeric'') then t.name + ''(''+ Convert(...[2019/5/7]
Sqlserver 游标的写法记录
---游标更新删除当前数据
---1.声明游标
declare orderNum_03_cursor cursor scroll
for select OrderId ,userId from bigorder where orderNum=''ZEORD003402''
--2.打开...[2019/5/7]
sql server 数据库创建链接服务器访问另外一个sql server 数据库
脚本如下:
EXEC sp_addlinkedserver @server=''XXX'', --链接服务器别名 @srvproduct='''',...[2019/5/6]
SqlException 服务器主体无法在当前安全上下文下访问数据库
遇到一个错误如下
System.Data.SqlClient.SqlException HResult=0x80131904 Me age=服务器主体 "用户名" 无法在当前安全上下文下访问数据库 "数据库名"。 Sou...[2019/5/6]
触发器中调用存储过程触发器中调用存储过程
存储过程名称为A,假设A返回一个ID
EXEC @id = A 1031,1
在触发器中像上面那样调用,调试时发现@FolderHierarchyid的值为0
后面参考网上的方法,建了一个表,表结构和存储过程的返回结果集结构一样
declare @idtable table(ID ...[2019/5/6]
Sqlserver filestream 引发文件数剧增
如果不使用checkpoint,文件数会剧增
参考:https: docs.microsoft.com/zh-cn ql/relational-database log database-checkpoints-sql-server?view=sql-server-2017
?
...[2019/5/5]
按日期统计收益,一天的收益数据合并为一条。一天一条数据
--统计今日金额合并为一条。一天一条数据
create proc sp_TableName
@uid int,
@bid int
as
begin
SELECT SUM([Money]) AS [Money], CONVERT(varchar(100), Cre...[2019/5/5]
SQL Server的Descending Indexes
SQL Server的Descending Indexes
测试环境:SQL Server 2012
表结构如下
USE [test]
GO
CREATE TABLE [dbo].[tt8](
[id] INT IDENTIT...[2019/4/30]
Postgre Sql获取最近一周、一月、一年日期函数
使用Postgre Sql获取近一周、一年、一月等系统函数调用如下,使用方面相对于Ms Sql server 容易了许多。
--当前时间
select now();
--current_timestamp 同 now() 函数等效
select current...[2019/4/30]
SqlServer执行大的数据库脚本出错解决方法
如果执行线上项目拷下来sqlserver的.sql的数据库脚本文件,如果文件较大时,那么就会报错内存不足之类的。
这时可以在命令提示符使用命令来执行脚本文件。切记,执行前先改一下数据库存放位置!
命令:osql -S . ,1433 -U sa -P 123 -i C:\...[2019/4/28]
sql自建用户
1.删除数据库中的自建用户;2.在sql中"安全性","登录名",新建个登录名,名称是用户名,采用sql身份验证,去掉密码策略, 选择页下选择“用户映射”,选择数据库;3.打开数据库,选择“安全性”,在新建的用户上,“属性”...[2019/4/26]
SQL Server数据库文件与文件组总结
文件和文件组概念 关于文件与文件组,简单概括如下,详情请参考官方文档“数据库文件和文件组Database Files and Filegroups”或更多相关资料: 数据文件概念: 每个SQL Server数据库至少包含两个作系...[2019/4/26]
docker 安装使用 mssql2017
1.拉取镜像
官方文档参考 : https: docs.microsoft.com/zh-cn ql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash
执行命令
sudo ...[2019/4/26]
SQL Server脚本
-- 清楚缓冲区
DBCC DROPCLEANBUFFERS
-- 删除计划高速缓存中的元素
DBCC FREEPROCCACHE
-- 执行时间
SET STATISTICS TIME ON
-- 读取IO
SET STATISTICS IO ON
-- 更新统计信息
exec sp_u...[2019/4/26]
SQL Server 安装后部分选项初始化脚本
SQL Server安装后,根据对应的业务场景,数据库实例的部分选项需要调整,例如实例的最大内存、tempdb 文件的增长量、Job执行记录数等等,但这一步经常被大家忽略掉。
其实很多选项初始化都可以通过脚本实现,一件执行。下面是一些常见选项初始的例子,仅供大家参考。
use mast...[2019/4/26]
SQL Server数据库文件与文件组总结
文件和文件组概念 关于文件与文件组,简单概括如下,详情请参考官方文档“数据库文件和文件组Database Files and Filegroups”或更多相关资料: 数据文件概念: 每个SQL Server数据库至少包含两个作系统文件:一个数据文件(data file)和一个日志文件(log fi...[2019/4/25]
SQL Server 复制表结构以及数据,去除表中重复字段
--复制另一个数据库中的某张表的结构及数据--select * from Test.dbo.TestTable(查询表中所有数据) --into [表名] 插入当前数据库新表,如果没有该表就创建
select * into TestCopy from Test.dbo.TestTable
...[2019/4/24]
SQL常用语句
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpde...[2019/4/24]
一例数据同步异常问题分析
【问题描述】
开发反馈,有一个SQL Server数据同步的作业,从Table1 拉取数据,主键是ID, 每次拉取批次数据的SQL语句是 select top (15) * from Table1(NOLOCK) where ID > ?,?代表的是上次同步批次中最后一个ID号。
某一次拉取...[2019/4/24]
SQLServer 日期函数及日期转换数据类型
一、统计语句
1、--统计当前【>当天00点以后的数据】
SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY ...[2019/4/24]
MS SQL 锁与事务
加锁的主要目的是为了防止并发操作时导致的数据不一致等问题,锁分为共享锁(S)、更新锁(U)、排他锁(X),共享锁与更新只是单向兼容?传说中的单相思?
事务
事务能保证数据操作的原子性,要么内部操作都提交,要么都回退。事务内部某个地方出错时,可以回滚前面的操作,比如更新、删除等。
B...[2019/4/24]
SqlServer 将纯数字的时间转换为DateTimeSqlServer 将纯数字的时间转换为DateTime
由于数据库存的是整个字符串组到一起了,C#代码是这个样子的。
public static string time(DateTime dt)
{
return dt.Year.ToString() + ((Convert.ToInt32(dt.Mo...[2019/4/24]
SQL常用语句(二)
--语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE ...[2019/4/24]
SQL Server 数据库基于备份文件的【一键还原】
1. 备份与还原的基础说明
我们知道在DBA的日常工作中,SQL Server 数据库的恢复请求偶有发生,可能是用作数据的追踪,可也可能能是数据库的灾难恢复。
数据库常用的备份命令如下:
----完整备份
Declare @FullFileName Varchar(200)
De...[2019/4/24]
mssql sqlserver 保留小数位指定位数的2种方法分享
摘要:
下文讲述将"sql数值型"类型数值转换为指定小数位的数据
方法1:采用 cast 方式转换数值类型至指定小数位:
declare @a decimal(18,3)
set @a = 18.893
select cast @a as decimal(18,2)
方法2:采用 ...[2019/4/24]
SQL Server 数据库部分常用语句小结(三)SQL Server 数据库部分常用语句小结(三)
21.SQL运行Log的读取
.EXEC xp_readerrorlog 0,1,null,null,''开始时间'',''结束时间''
22. Alwayson 状况及传输情况监控
SELECT ar.replica_server_name AS [副本名称] ,
...[2019/4/24]
使用sqlserver 链接远程服务器进行查询
1 --创建链接服务器
2 exec sp_addlinkedserver ''ITSV '', '' '', ''SQLOLEDB '', ''远程服务器名或ip地址 ''
3 exec sp_addlinkedsrvlogin ''ITSV '', ''false '',nu...[2019/4/24]
SQL两列数据,行转列
SQL中只有两列数据(字段1,字段2),将其相同字段1的行转列
转换前:
转换后:
--测试数据
if not object_id(N''Tempdb..#T'') is null
drop table #T
Go
Create tab...[2019/4/23]
数据库开发语句
1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:select encrypt(...[2019/4/23]
SQL优化--inner、left join替换in、not in、except
新系统上线,用户基数16万,各种查询timeout。打开砂锅问到底,直接看sql语句吧,都是泪呀,一大堆in\not in\except。这里总结一下,怎么替换掉in\not in\except。
1. in/except->left join
查询目的:
根据
客户表(Custome...[2019/4/22]
SQL server 存储过程的建立和调用SQL server 存储过程的建立和调用
存储过程的建立和调用
--1.1准备测试需要的数据库:test,数据表:物料表,采购表if not exists (select * from master.dbo.sysdatabases where name=''test'')create database testgouse ...[2019/4/22]
存储过程
存储过程的类型:
(1) 用户自定义存储过程
自定义存储过程即用户使用T_SQL语句编写的、为了实现某一特定业务需求,在用户数据库中编...[2019/4/22]
Sqlserver事务隔离级别详解
sqlserver存储方式
页
sqlserver是以页的形式存储数据,每个数据页的大小为8KB,sqlserver会把空间分为多个页,s...[2019/4/22]
SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试
1. 背景
SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP。如果我们有采用中间件,则可以在配置中,直接用Listener IP 替换掉 Server IP,可有时候,我们不太确定,是否有些旧程...[2019/4/22]
Sql的分库分表,及优化
对Sql细节优化
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。
首先给大家介绍一下分库分表
分库分表
分库 垂直分库 业务关联少 水平分库 根据类型分库,例如:游戏分区
...[2019/4/19]
SQL Server使用sp_rename重命名约束注意事项SQL Server使用sp_rename重命名约束注意事项
在SQL Server中,我们可以使用sp_name这个系统存储过程重命名数据库中对象的名称。 此对象可以是表、 索引、 列、 别名,约束等数据类型(具体可以参考官方文档)。上周在使用这个函数重构数据库中约束的时候,遇到了下面错误,如下所示: USE A...[2019/4/19]