sqlserver不太常见的,可能常见但又疑问的tsql语句
2013年10月29日16:01:58
当数据有 time类型列时候,比如 打电话的通话时长,我们查询时候不方便,我们可以添加一个冗余列,直接统计秒 ,但是 后期知道的,现在我把例如 00:12:23 的时间换成秒
例如列 bridgeDuration是时长,我们换成秒,存到这里bridgeDurationInt
UPDATE dbo.PhoneRecords SET bridgeDurationInt=(CAST(LEFT(bridgeDuration,2) AS int)*3600)+(CAST(RIGHT(LEFT(bridgeDuration,5),2) AS int)*60)+CAST(RIGHT(LEFT(bridgeDuration,8),2) AS int)
2013年9月24日16:47:55
跨服务器查询,需要先添加服务器链接
下面的ip地址可以换掉
EXEC sp_droplinkedsrvlogin '192.168.10.150',NULL
EXEC sp_dropserver '192.168.10.150'
EXEC sp_addlinkedserver '192.168.10.150', ' ', 'SQLOLEDB', "10.50.1790.0"
EXEC sp_addlinkedsrvlogin '192.168.10.150', 'false',null, 'it', 'its123'
2013年9月16日9:58:40 增加
查看sql server中对象的数量:
表有多少个
select count(1) from sysobjects where xtype='U'
视图:
select count(1) from sysobjects where xtype='V'
存储过程
select count(1) from sysobjects where xtype='P'
我自己写了个小例子,做发布和订阅的时候,对比两个数据库中的表,同名字的给选择出来
select * from 数据库1.dbo.sysobjects as crm
inner join 数据库2.dbo.sysobjects as cpp
on crm.name = cpp.name
where crm.xtype='U' and cpp.xtype='U'
1.给某张表增加列
例如
alter table dbo.表名称
add EmployeeName nvarchar(50) default '无' not null,
EmployeeId int default 0 not null
2.复制出新表
SELECT * INTO 新表 FROM 旧表
当然 新表== 库名.架构名.表名称,旧表也是
就可以实现 跨库复制表过来
3.查看某张表中所有的列名称
select Name from SysColumns where id=Object_id('表名称')
4. 求某两列的百分比,分母可能为0的情况
select conv=case when
字段=0 then 0
else
1/cast(字段 as numeric(5,2))
end
from 表 where 其他条件
5. 查出的结果,再添加一个自动增长列(排序列)
假如取个临时表的名字叫#tempT
select identity(int,1,1) as id,* into #tempT from (另一个select结果集,或者表名称)
删除临时表
if object_id('tempdb..#tempT') is not null
Begin
drop table #tempT
End
6.数据库角色 权限说明
db_owner 执行数据库中的所有维护和配置活动。
db_accessadmin 添加或删除 Windows 用户、组和 SQL Server 登录的访问权限。
db_datareader 读取所有用户表中的所有数据。
db_datawriter 添加、删除或更改所有用户表中的数据。
db_ddladmin 在数据库中运行任何数据定义语言 (DDL) 命令。
db_securityadmin 修改角色成员身份并管理权限。
db_backupoperator 备份数据库。
db_denydatareader 无法读取数据库用户表中的任何数据。
db_denydatawriter 无法添加、修改或删除任何用户表或视图中的数据。
7.修改 sa用户的密码
exec sp_password null,'000','sa'
8.SQLServer Update多条件多表关联更新
update Customer set employeeid=,employeeName='' where Id in(,,)
select employeeid,employeeName from dbo.Customer as c where c.Id in(,,)
update
A
set A.EmployeeId=B.EmployeeId,A.EmployeeName=B.EmployeeName from
(SELECT * FROM dbo.Customer ) A
inner join
(SELECT * FROM Contact as bb WHERE bb.CustomerId in(,,))B
on A.Id=B.CustomerId select employeeid,employeeName from dbo.Contact as c where c.CustomerId in(,,)
select employeeid,employeeName from dbo.Customer as c where c.Id in(,,)
9.mysql写法
UPDATE `visitlegalizelog`,`visituser` SET visitlegalizelog.Tel = visituser.Tel WHERE visitlegalizelog.PhoneMac = visituser.PhoneMac
sqlserver不太常见的,可能常见但又疑问的tsql语句的更多相关文章
- sqlServer 2008修改字段类型和重命名字段名称的sql语句
sqlServer 2008修改字段类型和重命名字段名称的sql语句 //修改字段的类型 alter table fdi_news alter column c_author nvarchar(50) ...
- UIPickerView常见属性、常见方法(包括代理方法和数据源方法)的一些说明
一.UIPickerView 1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id< ...
- github常见操作和常见错误及其解决办法
一.常见操作 1. 使用git在本地创建一个项目的过程 $ makdir ~/hello-world //创建一个项目hello-world $ cd ~/hello-world //打开这个项目 $ ...
- 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语,常见命令,创建测试表
一.数据库的登录 二.数据库常用语 三.测试表的创建,测试数据初始化 四.常见命令介绍 五.测试 user:jeffreysn:jeffrey user:systemsn:jeffrey 浏览器中输入 ...
- 1-Spark-1-性能调优-数据倾斜1-特征/常见原因/后果/常见调优方案
数据倾斜特征:个别Task处理大部分数据 后果:1.OOM;2.速度变慢,甚至变得慢的不可接受 常见原因: 数据倾斜的定位: 1.WebUI(查看Task运行的数据量的大小). 2.Log,查看log ...
- 常见寄存器以及常见汇编指令,常见爆破指令 good
CPU的任务就是执行存放在存储器里的指令序列.为此,除要完成算术逻辑操作外,还需要担负CPU和存储器以及I/O之间的数据传送任务.早期的CPU芯片只包括运算器和控制器两大部分.到了近几年,为了使存储器 ...
- github常见操作和常见错误!
本人总结: 1.问题: fatal: Not a git repository (or any of the parent directories) 解决: 本地库还没有创建,请先用git init ...
- github常见操作和常见错误!错误提示:fatal: remote origin already exists.
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...
- git常见操作和常见错误
最近写了个博客demo,在上传至github时,居然报错了,刚开始学习代码上传,免不了遇到一些问题,报错信息如下: fatal: remote origin already exists. (致命错误 ...
随机推荐
- Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】
从本文的内容上,写的时间比较早,而且有些术语我认为也不太准,有点口语化,但是意思到了. 问题: Perl.Python.Ruby 和 PHP 各自有何特点? 为什么动态语言多作为轻量级的解决方案? L ...
- jquery如何获取元素的滚动高度
获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度 $(documen ...
- uni/微信小程序 - 使用字体图标
阿里字体图标:http://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2 1.单个/ 多个选择字体图标 2. 导入字体库 可以参考 ...
- 转:FSMT:文件服务器从03迁移到08R2实战演练
另外参见:http://www.canway.net/Lists/CanwayOriginalArticels/DispForm.aspx?ID=282 以前做过一个项目,是把文件服务器从03升级到0 ...
- SQL与SQL Server
SQL--关系数据库的国际标准语言. SQL Server--著名的数据库管理系统.其他著名的数据库管理系统还有Oracle.Sybase等,它们都实现了SQL语言. 在SQL中,完成所有核心功能 ...
- spring boot-mybatis三种动态sql(5)
脚本sql XML配置方式的动态SQL我就不讲了,有兴趣可以自己了解,下面是用<script>的方式把它照搬过来,用注解来实现.适用于xml配置转换到注解配置 @Select(" ...
- MySQL事物系列:1:事物简介
1:事物是一组SQL的集合,要么都执行,要么都不执行.有ACID4个特性,即:原子性.一致性.隔离性.持久性. A(Atomicity)原子性:整个事物是不可分割的工作单位. C(consistenc ...
- sell 项目 订单表 设计 及 创建
1.数据库设计 2.订单表 创建 /** * 订单表 */ create table `order_master` ( `order_id` varchar(32) not null, `buyer_ ...
- ORA-00942 表或视图不存在
场景:跨scheme创建视图,提示ORA-00942 表或视图不存在 1. 创建两个用户 CREATE USER ODI_SRC IDENTIFIED BY ODI_SRC CREATE USER O ...
- 8、redis之事务1-redis命令
一.概述: 和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制.在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石.相信对有 ...