SqlServer
码码码码码码—农
牛人讲结果,普通人讲过程
展开
-
SqlServer行转列
SQL Server行转列、不确定列的行转列本文使用的方法:1、用Case When2、PIVOT函数首先,模拟一张表:CREATE TABLE TempSubjectResult(StudentName NVARCHAR(50) NOT NULL,StudentSubject NVARCHAR(50) NOT NULL,StudentGrade DECIMAL...原创 2019-11-21 17:19:35 · 1716 阅读 · 0 评论 -
SqlServe中使用EXEC @sql 来传递table变量
直接上代码IF OBJECT_ID('tempdb..#userConditionTable') IS NOT NULL DROP TABLE #userConditionTable; CREATE TABLE #userConditionTable ( openId VARCHAR(50), u...原创 2019-10-31 16:05:01 · 769 阅读 · 0 评论 -
SqlServer中将某列的值拼接成字符串
应用场景:向用户表中查询出需要发短信的管理员的手机号码,拼接成字符串批量处理。将内容转换为xml格式内容查询语句:SELECT substring(NewCol,0,LEN(T.NewCol)-1) AS NewPhone FROM ( (SELECT ( SELECT CASE WHEN (cellphone IS NULL OR LEN(cellphone)=0) T...原创 2019-01-07 14:38:26 · 1347 阅读 · 0 评论 -
微信模板消息47001错误
开发微信平台接口时代码开发完成的时候,满心欢喜开始测试接口的时候,微信给了我欢迎提示{"errcode":47001,"errmsg":"data format error hint: [VlcJia0987ge21]"}卧槽一脸闷逼 :数据格式错误?根据官网的接口参数提示所有数据必须是JSON格式 { "touser":"OPENID", ...转载 2019-01-21 10:24:00 · 810 阅读 · 0 评论 -
sql server 利用 For Xml Path('') 多行数据拼接成一个字符串
注意:这里有一种可能被弃用的方法,微软真他么坑死了,我的版本是19的,以前可以用,现在不行了方法一(弃用): SELECT (SELECT CAST(bs_id AS VARCHAR(50)) + ',' from dbo.BuildSite where bs_id=T.bs_id For XML PATH('')) AS BsStr from dbo.BuildSite...原创 2019-05-17 14:50:43 · 618 阅读 · 0 评论 -
SQL Server数据库的兼容级别:错误;找不到xxxx对象
出现的错误:“找不到【openjson】对象”,后来发现是由于数据库版本的兼容性造成的,该对象是sql 2016新出的 SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种...转载 2018-07-30 11:35:24 · 2437 阅读 · 0 评论 -
SqlServer-简单的事务和游标结合
IF EXISTS (SELECT * FROM sys.procedures WHERE name='proc_tranDemo') DROP PROCEDURE proc_tranDemo GO CREATE PROC proc_tranDemo AS DECLARE @employeeId INT; DECLARE @errorCount INT; ...原创 2018-03-21 14:38:55 · 1999 阅读 · 0 评论 -
SqlServer中 查询语句 case when 用法
数据库表:pic_tablepicstatetime 999cb09abcbb4ec08e7ddc5ded8301e3测试.jpeg 0 2018-07-02 14:09:01.000 6043d2e39e0442b987d34b703a9f1290测试2.jpg 1 2018-07-02 14:09:01.000 602d8629989e4577a3a7bc6d87db2c50测试3.jpg...原创 2018-07-02 16:46:15 · 2405 阅读 · 0 评论 -
SqlServer 更新/新增一条语句,返回其中某一列的值 inserted,@@IDENTITY()
一:更新/新增一条语句,返回其中某一列的值update product set state=1 output inserted.statewhere id=@id二:新增一条语句,返回自增列Idinsert into Product values();select @@IDENTITY() as new_id...原创 2018-07-02 17:48:48 · 1858 阅读 · 0 评论 -
SqlServer解析XML,解析JSON数据格式
一:解析XML(SQL2005版本开始支持)declare @pro_xml varchar(max)= '<reg> <node> <pro_id>3</pro_id> <pro_sale_num>10</pro_sale_num> <server_amount>原创 2018-07-12 14:43:09 · 9199 阅读 · 0 评论 -
Sqlserver 中 CrossApply 和 inner join 的区别
Cross Apply和Inner Join 有很多相同处,都是为了联表查询数据,而且取两张表之间的交集,不同在于,Cross apply 可以在 右表中加入左表的字段作为条件。 一:应用场景:可见表中每一个产品(pro_id)可能对应多个图片(img),我想要按照添加时间的先后顺序,获得其中每一个产品的第一张图片select * from Productselect * fr...原创 2018-07-12 15:06:29 · 4921 阅读 · 1 评论