SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名, (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识, (case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM sys
场景一:在我们写SQL脚本执行普通的Id 为Int,Long 类型查询为 譬如: select *from Table where id in (1,2,3); 场景二:SQL in 查询,当查询字段为Guid,或字符串类型时候,需要对In帅选条件进行处理,譬如:select *from Table where GuidID in ('89e36dd0-4e36-488e-8159-2c56251d7284','89767f6f-b06b-4081-b6ad-af6b6cf31d64') 可以通
假设表结构:用户名,日期,上班时间,下班时间.8月份记录:select * from 表名 where month(日期)=8 and 用户名 = '小张'8月份迟到早退次数:select sum(iif(datediff('s','8:00',上班时间) > 0,1,0)) as 迟到次数,sum(iif(datediff('s','17:00',下班时间) < 0,1,0)) as 早退次数 from 表名 where month(日期) = 8 and 用户名 = '小张' select
); SET @ColumnName='字段名的模糊匹配'; SELECT 表名=D.NAME, 表说明 THEN ISNULL(F.VALUE, ' ') ELSE ' ' END, 字段序号 = A.COLORDER, 字段名 = A.NAME, 标识 THEN '√ 'ELSE ' ' END, 主鍵 FROM SYSOBJECTS WHERE XTYPE= 'PK ' AND PARENT_OBJ=A.ID AND NAME IN ( SELECT NAME FROM SYSINDEXE
select c .name, isnull(ETP .value, '') as Des FROM syscolumns c inner join systypes t on c. xusertype = t. xusertype left join sys. extended_properties ETP on ETP.major_id = c.id and ETP .minor_id = c .colid and ETP .name ='MS_Description' left join
测试表如下: /* Navicat Premium Data Transfer Source Server : Source Server Type : MySQL Source Server Version : 50717 Source Host : localhost:3306 Source Schema : ceshi Target Server Type : MySQL Target Server Version : 50717 File Encoding : 65001 Date: 1
大致分为两种情况:ID连续和ID不连续. 1.ID连续的情况: 2.ID不连续的情况: (1).两次对表查询,效率较低. ID from A) (2).外层查询没有对表A进行查询,效率提高. ID from A order by ID) as a order by a.ID desc (3).ROW_NUMBER()函数效率更高,SQL2005以上版本可用. 以上是自己做的笔记,学习过程中,好记性不如烂笔头,自己也记录下来,作为成长的一部分.
/*第一种实现方法,效率低并且有错误*/ DECLARE @DD DATETIME SET @DD = GETDATE() SELECT a.GoodsID , a.Account , a.LastUpdate FROM dbo.tb_App_Goods a LEFT JOIN dbo.tb_App_Goods b ON a.Account = b.Account AND a.LastUpdate > b.LastUpdate GROUP BY a.GoodsID , a.Account , a
declare @t table(id int,num int) insert @t , union all , union all , --select * from @t ----查询 declare @idList varchar(),@numList varchar() set @idList = '' set @numList = '' select @idList = case @idList when '' then '' else @idList + ',' end + rtri
1.创建基础表 CREATE TABLE num (i INT); INSERT INTO num (i) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); 2.查询时间范围 SELECT adddate('2015-11-25', numlist.id) AS 'date' FROM ( SELECT n1.i + n10.i * 10 + n100.i * 100 AS id FROM num n1 CROSS JOIN num AS n10 C
SELECT * FROM T_NAME WHERE REGEXP_LIKE(COLNAME, '( )+'); SELECT * FROM T_NAME WHERE length(COLNAME) > length(trim(COLNAME)); SELECT * FROM T_NAME WHERE substr(字段,-1)=' ';