在SQL Server中,需要对数据操作进行先SELECT 之后UPDATE,对于这样的操作,如果出现高并发,可能导致脏读情况的发生.不能保证数据的同步. 解决方案是在事物中对表进行加更新锁: 事务一: begin tran select @count as count1 waitfor delay '00:00:30' commit tran select * from tb_name 事务二: begin tran select @count as count2 commit tran se
首先我们有一个表 查询结果如下: 现在我们想要把USER_NAME这一列的内容 放到一个字段里面去: 一行sql语句解决问题: SELECT STUFF(( SELECT ',' +convert(VARCHAR, USER_NAME) FROM TE_USER FOR XML PATH('')), 1, 1, '') AS UserName 解释一下上面这条语句: 1,首先STUFF函数在上面的语句里的作用是去除拼接的字符串最前面的逗号 STUFF函数的用法大概是STUFF(param1, s
首先我们需要用到这个 select * FROM master..spt_values n WHERE n.type = 'p' AND n.number <= 7 里面分几个列,我们需要连续的,所有就需要用到number列 SELECT CONVERT (VARCHAR (7),dateadd(m, number, dateadd(m, -11, GETDATE())),120) AS every_time FROM master..spt_values n WHERE n.type = 'p
1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as in
1.并集(UNION/UNION ALL) Oracle&SQLServer中用法一致 UNION 去重 UNION ALL 不去重 -- 去重 select * from tablea union select * from tableb -- 不去重 select * from tablea union all select * from tableb 2.交集(INTERSECT/EXISTS) Oracle&SQLServer中用法一致 INTERSECT 去重 EXISTS 不去