用SQL语句去掉数据库里面的重复记录

很多时候数据库会存在一些重复的数据,怎么去掉重复数据呢,很简单,先上一段代码:

select identity(int,1,1) as autoID, * into #Tmp from Table1

select min(autoID) as autoID into #Tmp2 from #Tmp group by field1, field2, field3

select * into Table2 from #Tmp where autoID in(select autoID from #tmp2)

drop table #Tmp

drop table #Tmp2

上面的意思将Table1里面的数据,按字段field1, field2, field3去重,然后生成一个没有重复数据的新表Table2

关于UTF-8和GB2312下URL编码解码的问题【ASP解决方案】

在网页编程中,我们常用的是UTF-8和GB2312,使用不同编码就会使URL加密出来的字符串也不一样。比如我们常见的就是使用百度和谷歌搜索同一个关键词,所得到的URL编码也不一样,所以在编程中URL解码是个问题。于是我在网上搜索了一下,找到了一些代码,如下:

'================================================
'函数名:URLDecode
'作 用:URL解码
'================================================
Function URLDecode(ByVal urlcode)
Dim start,final,length,char,i,butf8,pass
Dim leftstr,rightstr,finalstr
Dim b0,b1,bx,blength,position,u,utf8
On Error Resume Next 

b0 = Array(192,224,240,248,252,254)
urlcode = Replace(urlcode,"+"," ")
pass = 0
utf8 = -1 

length = Len(urlcode) : start = InStr(urlcode,"%") : final = InStrRev(urlcode,"%")
If start = 0 Or length < 3 Then URLDecode = urlcode : Exit Function  leftstr = Left(urlcode,start - 1) : rightstr = Right(urlcode,length - 2 - final)  For i = start To final  char = Mid(urlcode,i,1)  If char = "%" Then  bx = URLDecode_Hex(Mid(urlcode,i + 1,2))  If bx > 31 And bx < 128 Then  i = i + 2  finalstr = finalstr & ChrW(bx)  ElseIf bx > 127 Then
i = i + 2
If utf8 < 0 Then  butf8 = 1 : blength = -1 : b1 = bx  For position = 4 To 0 Step -1  If b1 >= b0(position) And b1 < b0(position + 1) Then  blength = position  Exit For  End If  Next  If blength > -1 Then
For position = 0 To blength
b1 = URLDecode_Hex(Mid(urlcode,i + position * 3 + 2,2))
If b1 < 128 Or b1 > 191 Then butf8 = 0 : Exit For
Next
Else
butf8 = 0
End If
If butf8 = 1 And blength = 0 Then butf8 = -2
If butf8 > -1 And utf8 = -2 Then i = start - 1 : finalstr = "" : pass = 1
utf8 = butf8
End If
If pass = 0 Then
If utf8 = 1 Then
b1 = bx : u = 0 : blength = -1
For position = 4 To 0 Step -1
If b1 >= b0(position) And b1 < b0(position + 1) Then  blength = position  b1 = (b1 xOr b0(position)) * 64 ^ (position + 1)  Exit For  End If  Next  If blength > -1 Then
For position = 0 To blength
bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) : i = i + 3
If bx < 128 Or bx > 191 Then u = 0 : Exit For
u = u + (bx And 63) * 64 ^ (blength - position)
Next
If u > 0 Then finalstr = finalstr & ChrW(b1 + u)
End If
Else
b1 = bx * &h100 : u = 0
bx = URLDecode_Hex(Mid(urlcode,i + 2,2))
If bx > 0 Then
u = b1 + bx
i = i + 3
Else
If Left(urlcode,1) = "%" Then
u = b1 + Asc(Mid(urlcode,i + 3,1))
i = i + 2
Else
u = b1 + Asc(Mid(urlcode,i + 1,1))
i = i + 1
End If
End If
finalstr = finalstr & Chr(u)
End If
Else
pass = 0
End If
End If
Else
finalstr = finalstr & char
End If
Next
URLDecode = leftstr & finalstr & rightstr
End Function 

Function URLDecode_Hex(ByVal h)
On Error Resume Next
h = "&h" & Trim(h) : URLDecode_Hex = -1
If Len(h) <> 4 Then Exit Function
If isNumeric(h) Then URLDecode_Hex = cInt(h)
End Function

这个代码是我从网上找到的非常棒,但是有个问题就是,当我的页面文件使用的是GB2312编码的,那么无论URL是gb2312编码utf-8编码出来的,都能够完美的解码出来,如果我们页面文件使用的是UTF-8编码的,那么在解码用gb2312编码的URL就出现乱码了,于是我又想到一招,之前为了是GB2312编码出来的URL和UTF-8编码出来的一样就用过,我就大胆的搬过来用了,还是调用刚才那个函数,只是再解码的时候先将它的编码伪装成为gb312的,解完码后再还原,代码如下:

Session.Codepage=936
url=URLDecode(url)
Session.codepage=65001

运行了一下,非常棒,解码没有问题了。

总结一下,如果你的页面使用gb2312编码的,那么直接调用上面函数即可,如果你的页面使用的utf-8的,那么加上下面那个小小的代码即可。

以上代码本人亲测,主要用gb2312和utf-8,其他的编码还没有使用过,如果您有更好的方法,也可以告诉我们,谢谢。

瑞星,你很想当流氓吗?

最近已经两次发现瑞星杀毒软件在用户不知情的情况下,将用户电脑上面的所有浏览器主页篡改,改成“瑞星安全网址导航”网页。

凭什么你就把用户的浏览器默认主页修改了,你经过用户同意了吗,难道说把用户的主页修改成你的安全网址就安全了吗?作为一个安全软件,这样做不是一个流氓软件的行为吗?

Google Adsense的文字广告在测试居中显示吗

今天无意中发现,在IE里面的所有Google Adsense的文字广告里面的文字都是居中显示的。起初我以为是我网站的原因,我又打开了其他网站,月光博客等看他们里面的文字广告也是居中显示的。

但是当我的浏览器使用Firefox浏览的时候,发现这些广告又没有居中显示,而是正常的显示,不知道是谷歌在调整吗。又使我联想到佩奇出任Google CEO等,是不是与这些有关,现在是个谜。

火狐浏览器(Mozilla Firefox)的诟病,首次启动太慢

每次打开电脑后去开火狐是一件痛苦的事,总是要启动很久才能打开。如果我点击打开Firefox后同时点击打开其他浏览器,如Avant Browser等其他IE内核浏览器,总是在其他的浏览器里面都打开了主页时后才看见Firefox慢吞吞的打开,如遇到急事还非的急死不可,呵呵

凡客这些网站竟然也会程序出错

今天在凡客诚品上面买了些东西,用支付宝支付后,刷新订单页面后进入,居然出现程序报错。晕了这些大型电子商务网站与顾客的资金攸关的竟然也出错了,令人狂汗!

[ASP技术]判断字符串中是否有中文字符(包括中文标点)

今天做用程序判断所发信息是否垃圾信息时,想到很多垃圾信息中没有中文字符串,于是就写了一个下面的中文字符串验证函数:

Function ChineseStr(str)

	ChineseStr=False

	for i = 1 to len(str)

		c=AscW(mid(str,i,1))

		If c<0 then c=c+65536

		If c>255 then

			ChineseStr=True

			exit for

		End If

	next

End Function
注意:这个函数不是所有编码下都能判断,我的页面编码是UTF-8的,如果是GB2312则需要将其中的AscW改为Asc

现在分享出来一起探讨使用,如有更好的可以发表

国外问答网站Quora试用后感

国外问答网站Quora最近很火,怀着今天去好奇学习的心态去看了一盘,的确做的还可以,现在有几点感想和心得可以分享一下。

1.网站整体风格非常简洁大方,看起来非常舒服;

2.网站不能直接注册,它必须是通过邀请链接注册或通过FaceBookTwitter等连接工具来共享登录,这样网站的用户就非常具有聚合力,也同时能够很好的将其他用户关联起来;

3.聚合了SNS和微博的特征,用户通过邀请机制,朋友间关联何尝不好,可以随时分享和关注朋友的动态与问题;

4.网站暂时不支持中文问答,可能是因为用户问题需要审核,而他们对中文还不是很懂,保证了网站目前问题的实用性:

Quora Language Announcement

我们发现您来自中国,或您使用的是中文浏览器。请注意,现阶段Quora只支援英文,所有问题与回覆都必须只用英文。只有当问题与回复的内容,必须直接参照外文时,才允许使用非英文文字。请到这里浏览此规定的细节:Need Quora questions be written in English?。谢谢您的配合。

如果以上内容并不适用於您,请忽略这段讯息。

暂时就这些吧,后面再研究一下这个东东。

淘宝商城启动独立域名tmall.com 域名还未备案

  今天习惯性的输入mall.taobao.com进入淘宝商城,细心的可能发现已经转跳到www.tmall.com上面,页面上面的内容还是以前的内容,里面的链接都已基本上换成了tmall.com域名的链接了。

  查了一下tmall.com的whois信息,其域名所有人为为淘宝公司所有,说明淘宝商城已经启动了这个新的独立域名了。但是截至目前为止,tmall.com的备案信息仍然在工信部网站上不能查询到。

金山毒霸升级程序无法结束进程