SQL Server数据库-实用语句、查询、修改

根据列名查找出表名(通用)

SELECT TABLE_NAME from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME = '列名'

查询重复数据

select * from [表A] where 有重复数据的列名 in (select 列名 from [表A] group by 列名 having count(列名) >1 )

根据一个字段名去查哪些表里有这个字段

SELECT * FROM sysobjects s

WHERE TYPE='u'

AND id IN(

SELECT id FROM syscolumns s

WHERE s.[name]='字段名')

根据某一个字段重复只取第一条数据

select s.*

from(

select *,row_number() over (partition by 列名 order by 排序列名 ASC) as group_idx from 表名

)s where s.group_idx = 1

批量修改删除某个字段的最后两个值:SubString字符串截取函数

例如:

 select SUBSTRING('abcde',1,2) 返回结果 ab

 select SUBSTRING('abcde',2,3) 返回结果 bcd

 select SUBSTRING('abcde',1,0) 返回结果为空

字段值是否含有换行符

select * from 表名 where instr(字段名,chr(13))>0

表空间与剩余空间大小查询

SELECT DB_NAME() AS DbName,

name AS FileName,

size/128.0 AS CurrentSizeMB,

size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS FreeSpaceMB

FROM sys.database_files;

查看当前连接数

SELECT * FROM 

[Master].[dbo].[SYSPROCESSES] WHERE [DBID] 

IN 

(

  SELECT 

   [DBID]

  FROM 

   [Master].[dbo].[SYSDATABASES] 

  WHERE 

   NAME='databaseName'

)

注:databaseName 是需要查看的数据库,然后查询出来的行数,就是当前的sql server数据库连接数。不过里面还有一些别的状态可以做参考用。

保留数值的后面两位小数-四舍五入

1.SELECT Round(列名,保留小数的位数) FROM 表名;

2.SELECT Convert(decimal(18,保留小数的位数), 列名) FROM 表名;

--整数部分若为0则会被省略。例如0.5521执行语句后为.55,解决方法见下面3语句

3.SELECT convert(varchar,convert(decimal(18,保留小数的位数),列名)) FROM 表名;

...

(未完待续。。。)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loa_loa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值