sqlserver
我是一只小小鱼~
能解决问题的技术才是有价值的技术
展开
-
sqlserver 中的表值函数和标量函数
表值函数可以看作带有入参的视图返回一个虚拟的表,标量函数理解来说 返回一个类型的标量值。原创 2023-05-14 14:24:25 · 4522 阅读 · 1 评论 -
sql中使用with as 递归查询
sql中使用with as 递归查询原创 2023-02-16 18:02:40 · 824 阅读 · 0 评论 -
利用excel函数批量生成sql语句
在工作中经常修改数据库数据,量小还好说,直接在数据库修改就行了,要是上百成千条数据修改起来很麻烦,这时 我们可以利用excel函数批量生成sql就很方便如 根据 A列数据更新B列数据我们要批量生成更新数据 加入这行 =("update user set score="&B1&" where user_id='"&A1&"'")如图:达到我们想要的sql语句了,再拿去数据库执行就ok了...原创 2022-02-21 09:59:14 · 1031 阅读 · 0 评论 -
sqlserver 使用表值函数将字符串拆分为表
CREATE FUNCTION [dbo].[fnSplit]( @string VARCHAR(max), @split VARCHAR(2))RETURNS @t TABLE(col VARCHAR(MAX)) -- 返回表数据ASBEGIN WHILE (CHARINDEX(@split, @string) <> 0)--便利 BEGIN INSERT @t --插入数据 ( ...原创 2022-01-11 17:35:56 · 464 阅读 · 0 评论 -
发生 尚未注册 OLE DB 访问接口 “SQLOLEDB” 7043 错误
--创建链接服务器exec sp_addlinkedserver '匿名 ', ' ',N'SQLOLEDB ', '服务器地址或者ip' exec sp_addlinkedsrvlogin '匿名 ','false',null,'用户名','密码'发生 尚未注册 OLE DB 访问接口 “SQLOLEDB” 7043 错误后来才发现 如果你的数据版本是2012及以上 则 SQLOLEDB 改成SQLNCLI11解决了这个问题参考sql server 使用链...原创 2021-12-11 10:17:23 · 3267 阅读 · 0 评论 -
sqlserver判断存储过程是否存在,存在则更新,否则插入
create PROCEDURE proName @name NVARCHAR(50), @O_RETURN INT OUTPUT, @Id INT OUTPUT ASBEGIN SET NOCOUNT ON; --判断是否存在IF EXISTS(SELECT* from table WHERE name = @name) BEGINUPDATE table SET name = @name, WHERE name = @name IF(.原创 2021-12-09 09:39:29 · 2326 阅读 · 0 评论 -
sqlserver 分页存储过程
create PROCEDURE proName @BTime DATETIME, @ETime DATETIME, @PageIndex INT = 1, --第几页 @PageSize INT = 20, --每页多少条数据 @RecordCount INT = 0 OUTPUT, --记录总数 @PageCount INT = 0 OUTPUT --总页数ASBEGIN SET NOCOUNT ON;...原创 2021-12-08 09:18:58 · 689 阅读 · 0 评论 -
sqlserver 将查询的单列结果集拼成一行字符串用逗号分隔
select stuff((select ','+[表字段] from 表名 where 条件 for xml path('')),1,1,'')原创 2021-11-24 12:00:17 · 1633 阅读 · 0 评论 -
sqlserver 数据库表增加新列
if not exists(select * from syscolumns where id=object_id('表名') and name='新字段') beginALTER TABLE 表名 ADD 新字段 int(类型) default (默认值)end原创 2021-11-23 10:23:58 · 2701 阅读 · 0 评论 -
数据库表转换为实体类
declare @TableName sysname = 'TableName'declare @Result varchar(max) = 'public class ' + @TableName + '{'select @Result = @Result + ' public ' + ColumnType + NullableSign + ' ' + ColumnName + ' { get; set; }'from( select replace(col...原创 2021-03-18 11:18:33 · 544 阅读 · 0 评论 -
SQL Server循环插入数据
--循环执行插入10000条数据declare @ID intdeclare @eigyousyocode nvarchar(16)declare @datet datetimedeclare @placecode nvarchar(16)beginset @ID=1set @eigyousyocode='1'set @datet='2015-05-06 17:22:24.990...转载 2019-12-20 11:27:50 · 590 阅读 · 0 评论 -
SQL Server查看表结构(数据字典)
SELECT (case when a.colorder=1 then d.name else '' end)表名, a.colorder 字段序号, a.name 字段名, (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) ...原创 2019-11-12 10:45:10 · 2669 阅读 · 0 评论 -
SqlServer常用内置函数
--=======================================-- SQL常用内置函数--=======================================--判断为null函数declare @abc varchar(5)set @abc='mnw'select isnull(@abc,0); --如果变量abc值为null,则取0,否则取被赋的值...原创 2019-09-20 10:52:01 · 1416 阅读 · 1 评论 -
获取SQLServer连接字符串的方法
第一步:创建向导文件 在桌面创建一个txt文件,并将文件后缀改成“.udl”。 第二步:选择“提供程序”tab页 双击新创建的“.udl”文件,进入后选择“提供程序”tab页,选择“Microsoft OLE DB Provider for SQL Server”。 第三步:设置“连接” ...原创 2019-01-25 10:09:31 · 5566 阅读 · 0 评论 -
SQL Case when 的使用方法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END这两种方式,可以实现相同的功能...转载 2019-03-13 11:02:04 · 1926 阅读 · 0 评论 -
SQL sum 返回 nulll 解决方法
关于SQL语句中SUM函数返回NULL的解决办法SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如下面的方法来处理:SELECT COALESCE(SUM(name),0) FROM person WHERE id > 0行了,这下...转载 2019-05-13 11:17:14 · 591 阅读 · 0 评论 -
sql计算时间差的datediff()函数用法
简单介绍一下datediff()函数。定义和用法DATEDIFF() 函数返回两个日期之间的天数。语法DATEDIFF(datepart,startdate,enddate)startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值:计算当前时间差备注:更改日期后面的时间不影响相差天数的输出结果...原创 2019-05-30 11:17:18 · 10474 阅读 · 1 评论 -
SQL中在查询结果中新增一列自定义的值
select *,cast('自定义的值' as 自定义的字段类型) as '列名' from 表名--简写select *, '自定义的值' as '列名' from 表名原创 2019-06-21 08:56:35 · 30400 阅读 · 0 评论 -
SQL UNION 和 UNION ALL 操作符
UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。UNION 操作符选取不同的值SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2UNIONALL 取所有的值(包含重复的...原创 2019-06-21 09:08:52 · 116 阅读 · 0 评论 -
SQL数据库中把一个表中的数据复制到另一个表中
1、如果是整个表复制表达如下:insert into table1 select * from table22、如果是有选择性的复制数据表达如下:insert into table1(column1,column2,column3...) select column1,column2,colunm3... from table23、一个数据库中的表中的数据复制到另一个数据库中的一...原创 2019-06-26 14:10:18 · 35582 阅读 · 2 评论 -
sqlserver数据库多行数据合并一行
我们日常查询数据时,经常会有将查询到的数据按照某一列分组显示(合并多行数据)select类别,名称=(stuff((select','+名称fromTable_Awhere类别=A.类别forxmlpath('')),1,1,...原创 2019-07-01 14:21:40 · 2034 阅读 · 0 评论 -
sqlserver 自增ID重置
1.删除表中的所有的数据的同时,将自动增长清零。 ( truncate table TableName )2.不删除表的数据,直接重置自动增长的值。( DBCC CHECKIDENT('TableName', RESEED, 0)...原创 2018-08-06 12:37:39 · 11775 阅读 · 0 评论