SQL Server的使用笔记
一、比较复杂的update语句:update .. from
update T_BuyMaterialReceiveStoreDetail
set QCID = a.QCID,
QCQty = isnull(a.QCQty,a.Qty),
QCPricePercent = isnull(a.QCPricePercent,1),
QCFailedQty = isnull(a.QCFailedQty,0),
QCWasteQty = isnull(a.QCWasteQty,0),
QCShortQty = isnull(a.QCShortQty,0),
QCPercent = isnull(a.QCPercent,1),
Note = a.Note,
DeterMineResult=a.DeterMineResult
from (select * from T_Temp_BuyMaterialReceiveStoreDetail
where OperateID = @OperateID
and OperateTime = @OperateTime
and QCID = QCID) a
where T_BuyMaterialReceiveStoreDetail.BuyID = a.BuyID
and T_BuyMaterialReceiveStoreDetail.MaterialItemID = a.MaterialItemID
and T_BuyMaterialReceiveStoreDetail.ReceiveID = a.ReceiveID
and T_BuyMaterialReceiveStoreDetail.StoreID = a.StoreID
and T_BuyMaterialReceiveStoreDetail.MaterialColorID = a.MaterialColorID
and T_BuyMaterialReceiveStoreDetail.MaterialSizeID = a.MaterialSizeID
and T_BuyMaterialReceiveStoreDetail.SaleID = a.SaleID
and T_BuyMaterialReceiveStoreDetail.StyleID = a.StyleID
二、判断varchar型的数据是否空
len(Note)= 0
三、将数据库的表的表结构的ntext类型的字段改为nvarchar(max)
select 'alter table ' + c.name+' alter column '+a.name+' nvarchar(max)'
from sys.columns a
left join sys.types b on a.system_type_id = b.system_type_id and b.name='ntext'
left join sys.objects c on a.object_id = c.object_id and c.Type='U'
where b.name='ntext' and c.Type='U'
四、巧妙的将返回的所有行的记录以一行字符串的形式输出
DECLARE @STR VARCHAR(8000)
SELECT @STR = ISNULL(@STR,'')+salecode+char(13) FROM t_sale
SELECT @STR
五、处理bit的类型的数据不能max
max(cast(a.State as int))
六、对调数据库中的两行记录的某个字段的值
update T_ReportConfig
set Array = case
when ReportConfigID = 17 then (select Array from T_ReportConfig where ReportConfigID=18)
else (select Array from T_ReportConfig where ReportConfigID=17)
end
where ReportConfigID in (17,18)
个人解释:sql编译时,先计算了()中的值,所以巧妙的达到了交互两个值
七、delete exists
delete from A
where exists(select *
from B a
where A.Column = a.Column)
八、OBJECT_ID (Transact-SQL)
Returns the database object identification number of a schema-scoped object. 对象标识号
语法:
OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]
object_name' [ ,'object_type' ] )
例子:
select count(1) from syscolumns where [id]=object_id('T_Operator') and [name]='OperatorID'
九、数据库中对象是否存在
1.表中的列
select count(1) from syscolumns where [id]=object_id('T_Operator') and [name]='OperatorID'
2.表
select count(*) from sysobjects
where id = object_id(N'[T_Operator]') and OBJECTPROPERTY(id, N'IsUserTable') = 1
十、SqlServer字符串前加N
加上 N 代表存入数据库时以 Unicode 格式存储。
N'string' 表示string是个Unicode字符串
Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。
Unicode 常量确实有排序规则,主要用于控制比较和区分大小写
十一、OBJECTPROPERTY
Returns information about objects in the current database
分享到:
相关推荐
- 使用SQL Server Management Studio中的性能监视器,关注`Logical disk AVG disk read/write queue length`,理想值应在硬盘数量的2倍以内。 - 当遇到读取问题时,可以采取消除碎片、调整索引、优化SQL命令、增加...
《SQL Server精华 (CHM)_sqlserver_SQLServer笔记_》是一部综合性的SQL Server学习资源,旨在帮助用户深入理解和掌握Microsoft SQL Server数据库管理系统的核心概念、功能和最佳实践。这部笔记涵盖了一系列关键知识...
### SQL Server 优化知识点 #### 一、SQL性能优化技巧 **1.1 查询的模糊匹配** - **问题描述**:使用 `LIKE '%parm1%'` 的查询方式会导致索引失效,降低查询效率。 - **解决方案**: - **前端改进**:改变用户...
SQLserver 数据库学习笔记 欢迎大家下载学习,共同进步啊
笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...
本笔记主要针对SQL Server的语法进行整理,旨在帮助初学者快速掌握基础概念和常用操作。 一、SQL简介 SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在SQL Server中,你可以创建、更新、...
SQL server 2008
- **配置工具:** 使用“SQL Server Configuration Manager”,位于控制面板->管理工具下。 - **服务启动:** 在“SQL Server 2005服务”中启动服务,如果更改了配置需要重启服务。 - **网络协议:** 在“SQL Server...
根据提供的文件内容,我们可以整理出一系列关于SQL Server的基础知识点,主要涵盖了数据库的创建与删除、表的创建与修改、数据的插入与更新、以及查询语句等关键操作。下面将详细解析这些知识点。 ### 1. 数据库的...
在本文中,我们将深入探讨SQL Server的学习笔记,涵盖其体系结构、数据库类型特点、OLTP与OLAP的区别,以及一些关键的管理工具。 首先,让我们了解Microsoft SQL Server 2008系统的体系结构。这个系统由四个主要...
### SQLServer个人学习笔记知识点概览 #### 一、日期格式转换:`SELECT REPLACE(CONVERT(CHAR(8),GETDATE(),120),'-','')` - **知识点**:使用`CONVERT`函数将当前系统时间`GETDATE()`转换为指定格式的字符串,并...
SQL Server是一款由微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。这份"sql server数据库笔记.zip...通过深入学习这些笔记,你可以更好地掌握SQL Server的使用,提升数据库管理和开发能力。
【Java SSH Oracle SQLServer 学习笔记】 Java是一种广泛使用的面向对象的编程语言,它以其跨平台、开源和丰富的库而闻名。SSH是三个开源框架的缩写,分别是Spring、Struts和Hibernate,它们在Java Web开发中起着至...
这部分介绍了如何使用Java程序通过JDBC-ODBC桥连接方式操作SQLServer数据库。内容包括配置数据源、加载驱动、建立连接以及使用Statement或PreparedStatement执行CRUD操作(即创建、读取、更新和删除操作)。 通过...
SQL Server 提供了多种安装方式,包括使用安装工具、Azure Data CLI 和 pip 等。用户可以根据需要选择合适的安装方式。此外,SQL Server 还提供了多种部署方式,包括单节点部署、Kubernetes 群集部署等。 管理和...
这篇“SQL Server小小笔记”可能是针对SQL Server基础概念、操作技巧或者特定功能的总结,虽然描述内容过于简洁,但我们可以根据标签和通常的学习路径来深入探讨SQL Server的相关知识点。 1. **SQL Server基础知识*...
郝斌SqlServer笔记 郝斌的SqlServer笔记是一个关于SqlServer的学习笔记,涵盖了SqlServer的基本概念、数据库管理、用户权限管理、表设计、主键和外键的设置、数据录入、查询执行等多个方面的知识点。 一、数据库...
SQL课堂培训笔记疯汉三版【Oracle+Sqlserver+Mysql】 根据韩顺平老视的视频教程整理的笔记,PDF格式
SQL Server 2000 笔记是我在上课的时候记的笔记,很实用的,无论是用sql还是Access数据库都可以供参考,里面有很多例子哦。