笔记:
- 换行符 CHAR(10)
举例:
将换行符改成空格
UPDATE dbo.goodsInfo SET goods_name=REPLACE(gModel_color,CHAR(10),’ ‘) WHERE gModel_color LIKE ‘%’+CHAR(10)+’%';
2.多字段同时存在/不存在另一个表的查询
表a 字段 para1 para2 para3 para4
表b 字段 para1 para2 para5 para6
查询表a中的para1 para2 不存在于表b的数据
select * from 表1 where 表1.para1 not in (select 表2.para1 from 表2 where 表1.para2=表2.para2);
3.两表叠加查询 (查询内容列名一致)
SELECT * FROM dbo.第一批采购 UNION ALL SELECT *FROM dbo.第二批采购 ;
4.组内序号
订单号 商品编码 组内序号
001 a 1
001 b 2
002 b 1
003 b 1
003 c 2
SELECT *, RANK() OVER(PARTITION BY src_tid ORDER BY olID ASC) AS Rank FROM dbo.wdtOrderList
编辑组内流水号
UPDATE dbo.wdtOrderList
SET gnum = l2.gnum
FROM
(
SELECT wol.olID,
RANK() OVER (PARTITION BY wol.src_tid,
wol.trade_id,
wol.wdtOMNo
ORDER BY olID ASC
) AS gnum
FROM dbo.wdtOrderList wol
LEFT JOIN dbo.wdtOrderMain wom
ON wol.trade_id = wom.trade_id
WHERE wom.wdtOMNo = @wdtOMNo
) l2
WHERE dbo.wdtOrderList.gnum IS NULL
AND dbo.wdtOrderList.olID = l2.olID;
5.通过 数据库维护计划 备份数据库失败
一个很奇葩的问题,在阿里云、腾讯云ecs内创建的数据库实例,通过外网smss直接备份可以成功,但是创建的维护计划、sql server代理 进行备份就会失败。检查了各种配置、脚本都没查到原因,后来找到原因竟然是 ecs的安全组策略没有对数据库所在的ecs本机开放入的权限,把本机的内外网ip和所有端口添加到组策略放行后,维护计划的备份即可成功。
新手,刚开始学习并记录博客。
如果以上方法对你有帮助,或需要改善,请留言。谢谢。