对于数据操作的SQL语句精粹(长期更新)

--删除空格
 Update [Table] Set [Column]=Replace([Column],' ','') 

--查出左右和右边带空格的数据
select RTRIM( LTRIM([Column])) from Table

--查出有空格的数据
select * from [Table] where [Column] like '%_ _%'

--将带有换行符和回车符的数据删除掉
Update [Table] Set [Column ]= replace(replace([Column],char(13),''),char(10),'')

--在指定的字段里的数据前面加上固定的数据(update亦如此)
(sql)select 'data'+Column from Table

(oracle)select 'data'||Columnfrom Table

--给查询出来的数据添加一列唯一标识的序列ID(两种方法,很明显,第二个的数据开销更小一点)

--IDENTITY(int,1,1)第一个'1'是从1开始,第二个'1'是每列增加1,。各位可以根据自己的需求拓展。

SELECT ROWID=IDENTITY(int,1,1) , columna, columnb, columnc INTO Tableb FROM Tablea ORDER BY columna

 SELECT ROW_NUMBER() OVER (ORDER BY columnaASC) AS ROWID, * FROM Tablea 

PS:如果之前的表里有唯一标识,就会提示 无法使用 SELECT INTO 语句向表 'Tableb ' 中添加标识列,该表中已有继承了标识属性的列 'XX'

--那么可以这样写(第一个是去掉,第二个是转换)

select id=IDENTITY(int,1,1),replyId*1 as replyId into Tableb from Tablea 

select id=IDENTITY(int,1,1),convert(int,replyId) as replyId into Tableb from Tablea 

 

--声明表变量且进行操作

Declare @user Table
(
ID INT,
NAME NVARCHAR(15)
)

Insert INTO @user(ID,NAME)VALUES
(1,'2'),
(2,'3')
Insert INTO @user(ID,NAME)SELECT 1,'2' UNION SELECT 2,'3'

Select ID,NAME FROM @user

 

--sql 查询某个数据库中某一字段在哪个表里
select name,OBJECT_NAME(id) as tablename from syscolumns where name='column'

 

--递归 其中columna字段为cloumnb的父节点。

WITH NODES 
AS ( 
SELECT * FROM TABLEA par 
UNION ALL 
SELECT child.* FROM TABLEA AS child INNER JOIN 
NODES AS RC ON child.columna = RC.columnb) 

SELECT * FROM NODES

 

--很好用的分页sql 

select [column1] ,[column2] ... ,[columnN] from [tableName] order by [columnM] offset (pageIndex-1)*pageSize rows fetch next pageSize rows only

转载于:https://www.cnblogs.com/qingyanxiaochen/p/9531925.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值