新鲜发布:
元字符说明
^匹配字符串的开始位置
$匹配字符串的结束位置
.匹配任意单个字符(换行符 \n 除外)
|交替
{…}指定要限定的数量
[...]指定要匹配的字符集
(…)对表达式进行逻辑分组
*匹配零或多个前面的表达式
+匹配一或多个前面的表达式
?匹配零或一个前面的表达式
\放在上面任何一个字符之前,表示匹配该字符本身。放在其他特殊字符后面,表示字符转义(见下面)

继续阅读 »

常有时候遇到需要删除SQL Server中的重复记录,这里有一些常用的删除重复记录的SQL,收藏备用,转自(loveyuki.com),感谢。

最常用的 T-SQL 语句:

DELETE FROM [dbo].[myTable] WHERE 主键 NOT IN 
    (SELECT MAX(主键) FROM [dbo].[myTable] GROUP BY1,2,3)

从 SQL Server 2005 以后,用 CTE:

WITH tmpOrderdTable 
AS 
( 
  SELECT  
    GroupID = ROW_NUMBER() OVER (PARTITION BY 列1, 列2, 列3 ORDER BY 主键) 
  FROM 
    [dbo].[myTable] 
) 
 
DELETE FROM tmpOrderdTable WHERE GroupID > 1

继续阅读 »

比如有文章表 Article(Id,Category,InsertDate),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,留存备用,转自(loveyuki.com),感谢。

SELECT A1.*  
FROM Article AS A1  
     INNER JOIN (SELECT A.Category,A.InsertDate 
                 FROM Article AS A  
                      LEFT JOIN Article AS B  
                        ON A.Category = B.Category  
                           AND A.InsertDate <= B.InsertDate  
                 GROUP BY A.Category,A.InsertDate 
                 HAVING COUNT(B.InsertDate) <= @N 
    ) AS B1  
    ON A1.Category = B1.Category  
       AND A1.InsertDate = B1.InsertDate 
ORDER BY A1.Category,A1.InsertDate DESC

@N 就是你要取多少条。

这是一组珍贵的老照片,一对老朋友、老对手,两张相隔16年的乔布斯与盖茨会面的老照片。

1991年乔布斯与盖茨会面照片.jpg

继续阅读 »