SQLServer从渣仔到小白
一、将查询结果插入到另一张表
1. 查询结果插入新表
select * into tableA from tableB where …
2. 查询结果插入已经存在的表
insert into tableA
select * from tableB where…
3. 查询结果跨数据库
insert into schemaA.tableA
select * from schemaB.tableB where…
4.查询结果加上新字段插入已经存在的表
insert into tableA
select *,NULL from tableB where…
二、SQL server列多次指定错误
The column 'saleareaname' was specified multiple times for 't1'.
列"saleareaname‘被多次指定为’t1‘。
错误原因是select后面的多个表中同时具有相同的列名,解决错误的方法是分别给它们取个不同的别名就好了。
连表查询 两个表里面出现了相同的字段,就会报错
三、GETDATE() 获取当前时间
四、锁表及解锁
查看所有锁表
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type='OBJECT'
解锁
declare @spid int
Set @spid = 23 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)
五、该死的空格(摘自:https://www.cnblogs.com/happycat1988/p/4779805.html)
最近发现SQLServer中比较字符串的时候 如果字符串末尾是空格 那么SQLServer会无视那些空格直接进行比较 这和程序中平时的字符串判断逻辑不统一
直接等号判断的时候 SQL会无视末尾的空格 但是like却能够正确的比较
虽然用like也是一种方法 不过如果带有%之类的或许会判断错误 不能单单只用like一个判断 不过反正都是要附加一个条件了
有没有什么比like还简单的呢 于是我就想到了用len函数加上字符串长度同时比较 然后就踩了另外一个坑
len函数也是无视末尾空格的 只有用datalength函数才能作为附加的精确判断的依据
查询了MSDN(LEN (Transact-SQL)) 发现len函数的说明是"Returns the number of characters of the specified string expression, excluding trailing blanks." 也就是排除空格比较的 所以要换用datalength
于是乎整理出了一些精确判断字符串的方法
declare @a nvarchar(50);set @a=N'happycat1988'
declare @b nvarchar(50);set @b=N'happycat1988 '
if(@a = @b and datalength(@a)=datalength(@b))
select 'True' as 配合datalength比较
else
select 'False' as 配合datalength比较
if(@a = @b and @a like @b and @b like @a)
select 'True' as 配合like比较
else
select 'False' as 配合like比较
if(@a + 'a' = @b + 'a')
select 'True' as 末尾补充字符比较
else
select 'False' as 末尾补充字符比较
最新文章
- 从点云到网格(三)Poisson重建
- iOS开发-UI 从入门到精通(三)
- SelectionSort,选择排序
- 我对GIT的理解
- N皇后//搜索入门
- Android 设计随便说说之简单实践(消息流动)
- ftp和http转参数的使用(转)
- CoreJavaE10V1P3.5 第3章 Java的基本编程结构-3.5 操作符
- 关于IOS的屏幕适配(iPhone)——Auto Layout和Size Classes
- C#编写影院售票系统(A project with a higher amount of gold )(2:相关代码)
- C#:几种数据库的大数据批量插入
- Python爬虫入门教程 32-100 B站博人传评论数据抓取 scrapy
- 如何在已有的 Web 应用中使用 ReactJS
- Educational Codeforces Round 32 E. Maximum Subsequence
- 简述我理解的C#
- oracle导入导出功能
- 搭建TensorFlow中碰到的一些问题(TensorBoard不是内部或外部指令也不是可运行的程序)~
- MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
- python(leetcode)-136只出现一次的数字
- 使用curator框架简单操作zookeeper 学习笔记
热门文章
- @Autowired注解与@Resource注解的区别与用法
- Cinder LVM Oversubscription in thin provisioning
- [Bayes] Maximum Likelihood estimates for text classification
- pyCharm最新2017激活
- PAT 甲级 1018 Public Bike Management (30 分)(dijstra+dfs,dfs记录路径,做了两天)
- windows10下idea快捷键文件
- Flutter之Dio引入和简单的Get/Post请求
- python-数据库-优化
- centos(linux)--vsftpd配置
- 关于LuckyE博客的前言