青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

c++的海洋很寬,但我喜歡在里面劃船!

C++博客 首頁 新隨筆 聯系 聚合 管理
  4 Posts :: 0 Stories :: 14 Comments :: 0 Trackbacks

2009年10月14日 #

今天對于老師講的一個問題。始終有點疑惑
一個對于 switch與 if else的問題。
switch 比if else的執行效率高。感覺可能是因為switch 執行不向 if else 需要順序執行。但是他也有限制,就是 swtich 與case的每個標簽必須是整形(包括字符型)的。所有對于 浮點型或是選擇涉及到取值范圍,就無法處理了。。。

比如一道簡單的題目:
 假設 a,x為整形;
  a>10   x=1;
 5<=a<=10, x=2;
  0<=a <5,X=3;
  a<0, x=4;

if(a>10)
      x=1;
else
    if (a>=5)
           x=2;
   else
          if(a>=0)
              x=3;
          else
              x=4;


這種選擇分支是不是一定無法轉為 switch case 結構呢?
我覺得是。。。。


posted @ 2009-10-14 21:04 星星點燈 閱讀(266) | 評論 (0)編輯 收藏

2009年10月9日 #

今天就是學到一點sql 語句;

創建數據庫

create database basename
on primary(
數據字段
及一些數據庫的大小設置

)
 log on()

collate 排序方式

posted @ 2009-10-09 20:27 星星點燈 閱讀(192) | 評論 (0)編輯 收藏

這篇文章出自-----http://hi.baidu.com/hbjinzhao/blog/item/f2c3e919014f0a7cdab4bd94.html

我們在create table時經常會碰到這樣的語句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:

首先,collate是一個子句,可應用于數據庫定義或列定義以定義排序規則,或應用于字符串表達式以應用排序規則投影。

語法是collate collation_name

collation_name ::={windows_collation_name}|{sql_collation_name}

參數collate_name是應用于表達式、列定義或數據庫定義的排序規則的名稱。collation_name 可以只是指定的 Windows_collation_name SQL_collation_name

Windows_collation_name Windows 排序規則的排序規則名稱。參見 Windows 排序規則名稱。
SQL_collation_name
SQL 排序規則的排序規則名稱。參見 SQL 排序規則名稱。

下面簡單介紹一下排序規則:

什么叫排序規則呢?MS是這樣描述的:" Microsoft SQL Server 2000 中,
字符串的物理存儲由排序規則控制。排序規則指定表示每個字符的位模式以及存
儲和比較字符所使用的規則。"
  在查詢分析器內執行下面語句,可以得到SQL SERVER支持的所有排序規則。

    select * from ::fn_helpcollations()

排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。
如:
  Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。
排序規則的后半部份即后綴 含義:
  _BIN 二進制排序
  _CI(CS) 是否區分大小寫,CI不區分,CS區分
  _AI(AS) 是否區分重音,AI不區分,AS區分   
  _KI(KS) 是否區分假名類型,KI不區分,KS區分 
     _WI(WS)
是否區分寬度 WI不區分,WS區分 

區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,
        
比較還將重音不同的字母視為不等。
區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。
區分寬度:如果想讓比較將半角字符和全角字符視為不等,請選擇該選項


利用排序規則特點計算漢字筆劃和取得拼音首字母

SQL SERVER的排序規則平時使用不是很多,也許不少初學者還比較陌生,但有
一個錯誤大家應是經常碰到: SQL SERVER數據庫,在跨庫多表連接查詢時,若兩數據
庫默認字符集不同,系統就會返回這樣的錯誤:
      
           “無法解決 equal to 操作的排序規則沖突。”

一.錯誤分析:
  這個錯誤是因為排序規則不一致造成的,我們做個測試,比如:
create table #t1(
name varchar(20) collate Albanian_CI_AI_WS,  
value int)

create table #t2(
name varchar(20) collate Chinese_PRC_CI_AI_WS,    
value int )

表建好后,執行連接查詢:

select * from #t1 A inner join #t2 B on A.name=B.name

這樣,錯誤就出現了:

           服務器: 消息 446,級別 16,狀態 9,行 1
           無法解決 equal to 操作的排序規則沖突。
  要排除這個錯誤,最簡單方法是,表連接時指定它的排序規則,這樣錯誤就
不再出現了。語句這樣寫:

select *
from #t1 A inner join #t2 B
on A.name=B.name collate Chinese_PRC_CI_AI_WS


二.排序規則簡介:

     什么叫排序規則呢?MS是這樣描述的:"在 Microsoft SQL Server 2000 中,
字符串的物理存儲由排序規則控制。排序規則指定表示每個字符的位模式以及存
儲和比較字符所使用的規則。"
  在查詢分析器內執行下面語句,可以得到SQL SERVER支持的所有排序規則。

    select * from ::fn_helpcollations()

排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。
如:
  Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。
排序規則的后半部份即后綴 含義:
  _BIN 二進制排序
  _CI(CS) 是否區分大小寫,CI不區分,CS區分
  _AI(AS) 是否區分重音,AI不區分,AS區分   
  _KI(KS) 是否區分假名類型,KI不區分,KS區分 
     _WI(WS) 是否區分寬度 WI不區分,WS區分 

區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,
         比較還將重音不同的字母視為不等。
區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。
區分寬度:如果想讓比較將半角字符和全角字符視為不等,請選擇該選項


三.排序規則的應用:
  SQL SERVER提供了大量的WINDOWS和SQLSERVER專用的排序規則,但它的應用往往
被開發人員所忽略。其實它在實踐中大有用處。

  例1:讓表NAME列的內容按拼音排序:

create table #t(id int,name varchar(20))
insert #t select 1,'中'
union all select 2,'國'
union all select 3,'人'
union all select 4,'阿'

select * from #t order by name collate Chinese_PRC_CS_AS_KS_WS
drop table #t
/*結果:
id           name                
----------- --------------------
4           阿
2           國
3           人
1           中
*/

  例2:讓表NAME列的內容按姓氏筆劃排序:

create table #t(id int,name varchar(20))

insert #t select 1,'三'
union all select 2,'乙'
union all select 3,'二'
union all select 4,'一'
union all select 5,'十'
select * from #t order by name collate Chinese_PRC_Stroke_CS_AS_KS_WS  
drop table #t
/*結果:
id           name                
----------- --------------------
4           一
2           乙
3           二
5           十
1           三
*/

四.在實踐中排序規則應用的擴展
  SQL SERVER漢字排序規則可以按拼音、筆劃等排序,那么我們如何利用這種功能
來處理漢字的一些難題呢?我現在舉個例子:

          用排序規則的特性計算漢字筆劃

  要計算漢字筆劃,我們得先做準備工作,我們知道,WINDOWS多國漢字,UNICODE目前
收錄漢字共20902個。簡體GBK碼漢字UNICODE值從19968開始。
  首先,我們先用SQLSERVER方法得到所有漢字,不用字典,我們簡單利用SQL語句就
可以得到:

select top 20902 code=identity(int,19968,1) into #t from syscolumns a,syscolumns b

再用以下語句,我們就得到所有漢字,它是按UNICODE值排序的:

  select code,nchar(code) as CNWord from #t

  然后,我們用SELECT語句,讓它按筆劃排序。

select code,nchar(code) as CNWord
from #t
order by nchar(code) collate Chinese_PRC_Stroke_CS_AS_KS_WS,code

結果:
code         CNWord
----------- ------
19968       一
20008       丨
20022       丶
20031       丿
20032       乀
20033       乁
20057       乙
20058       乚
20059       乛
20101       亅
19969       丁
..........

    從上面的結果,我們可以清楚的看到,一筆的漢字,code是從19968到20101,從小到大排,但到
了二筆漢字的第一個字“丁”,CODE為19969,就不按順序而重新開始了。有了這結果,我們就可以輕
松的用SQL語句得到每種筆劃漢字歸類的第一個或最后一個漢字。
下面用語句得到最后一個漢字:

create table #t1(id int identity,code int,cnword nvarchar(2))

insert #t1(code,cnword)
select code,nchar(code) as CNWord   from #t
order by nchar(code) collate Chinese_PRC_Stroke_CS_AS_KS_WS,code


select A.cnword
from #t1 A
left join #t1 B on A.id=B.id-1 and A.code
where B.code is null
order by A.id

得到36個漢字,每個漢字都是每種筆劃數按Chinese_PRC_Stroke_CS_AS_KS_WS排序規則排序后的
最后一個漢字:

亅阝馬風龍齊龜齒鴆齔龕龂齠齦齪龍龠龎龐龑龡龢龝齹龣龥齈龞麷鸞麣龖龗齾齉龘

  上面可以看出:“亅”是所有一筆漢字排序后的最后一個字,“阝”是所有二筆漢字排序后的最后
一個字......等等。
  但同時也發現,從第33個漢字“龗(33筆)”后面的筆劃有些亂,不正確。但沒關系,比“龗”筆劃
多的只有四個漢字,我們手工加上:齾35筆,齉36筆,靐39筆,龘64筆

建漢字筆劃表(TAB_HZBH):
create table tab_hzbh(id int identity,cnword nchar(1))
--先插入前33個漢字
insert tab_hzbh
select top 33 A.cnword
from #t1 A
left join #t1 B on A.id=B.id-1 and A.code
where B.code is null
order by A.id
--再加最后四個漢字
set identity_insert tab_hzbh on
go
insert tab_hzbh(id,cnword)
     select 35,N'齾'
union all select 36,N'齉'
union all select 39,N'靐'
union all select 64,N'龘'
go
set identity_insert tab_hzbh off
go

  到此為止,我們可以得到結果了,比如我們想得到漢字“國”的筆劃:

declare @a nchar(1)
set @a='國'
select top 1 id
from   tab_hzbh
where cnword>=@a collate Chinese_PRC_Stroke_CS_AS_KS_WS
order by id

id          
-----------
8
(結果:漢字“國”筆劃數為8)

  上面所有準備過程,只是為了寫下面這個函數,這個函數撇開上面建的所有臨時表和固
定表,為了通用和代碼轉移方便,把表tab_hzbh的內容寫在語句內,然后計算用戶輸入一串
漢字的總筆劃:

create function fun_getbh(@str nvarchar(4000))
returns int
as
begin
declare @word nchar(1),@n int
set @n=0
while len(@str)>0
begin
set @word=left(@str,1)
--如果非漢字,筆劃當0計
set @n=@n+(case when unicode(@word) between 19968 and 19968+20901
then (select top 1 id from (
select 1 as id,N'亅' as word
union all select 2,N'阝'
union all select 3,N'馬'
union all select 4,N'風'
union all select 5,N'龍'
union all select 6,N'齊'
union all select 7,N'龜'
union all select 8,N'齒'
union all select 9,N'鴆'
union all select 10,N'齔'
union all select 11,N'龕'
union all select 12,N'龂'
union all select 13,N'齠'
union all select 14,N'齦'
union all select 15,N'齪'
union all select 16,N'龍'
union all select 17,N'龠'
union all select 18,N'龎'
union all select 19,N'龐'
union all select 20,N'龑'
union all select 21,N'龡'
union all select 22,N'龢'
union all select 23,N'龝'
union all select 24,N'齹'
union all select 25,N'龣'
union all select 26,N'龥'
union all select 27,N'齈'
union all select 28,N'龞'
union all select 29,N'麷'
union all select 30,N'鸞'
union all select 31,N'麣'
union all select 32,N'龖'
union all select 33,N'龗'
union all select 35,N'齾'
union all select 36,N'齉'
union all select 39,N'靐'
union all select 64,N'龘'
) T
where word>=@word collate Chinese_PRC_Stroke_CS_AS_KS_WS
order by id ASC) else 0 end)
set @str=right(@str,len(@str)-1)
end
return @n
end

--函數調用實例:
select dbo.fun_getbh('中華人民共和國'),dbo.fun_getbh('中華人民共和國')
 
  執行結果:筆劃總數分別為39和46,簡繁體都行。

     當然,你也可以把上面“UNION ALL”內的漢字和筆劃改存在固定表內,在漢字
列建CLUSTERED INDEX,列排序規則設定為:
    Chinese_PRC_Stroke_CS_AS_KS_WS
這樣速度更快。如果你用的是BIG5碼的操作系統,你得另外生成漢字,方法一樣。
但有一點要記住:這些漢字是通過SQL語句SELECT出來的,不是手工輸入的,更不
是查字典得來的,因為新華字典畢竟不同于UNICODE字符集,查字典的結果會不正
確。

  
               用排序規則的特性得到漢字拼音首字母

  用得到筆劃總數相同的方法,我們也可以寫出求漢字拼音首字母的函數。如下:

create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非漢字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (select top 1 PY from (
select 'A' as PY,N'驁' as word
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all select 'W',N'鶩'
union all select 'X',N'鑂'
union all select 'Y',N'韻'
union all select 'Z',N'咗'
) T
where word>=@word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC) else @word end)
set @str=right(@str,len(@str)-1)
end
return @PY
end

--函數調用實例:
select dbo.fun_getPY('中華人民共和國'),dbo.fun_getPY('中華人民共和國')
結果都為:ZHRMGHG

posted @ 2009-10-09 19:58 星星點燈 閱讀(494) | 評論 (0)編輯 收藏

         時常我們在生活里面會不斷的抱怨。忽略了我們已經擁有的。其實我想寫的事情,是發生在我生活中的,最近一次,我跟同寢室的一個同學搞僵了。當我在一遍又一遍的抱怨時,其實什么問題也沒解決好。反而是重復的把你那些不愉快的記憶再在你的腦海中梳理一遍。讓你的傷心在重復一遍。

        其實我們忘了,治療心痛不滿最好的良藥就是愛,寬容。如果對方還會傷害你,最后就視而不見,云淡風輕。因為如果你不在乎的話,對方也就傷害不了你/
        有多少次,我們嘮叨,指責,埋怨,冷眼相向,以不懲不足以平我憤之精神,希望按照自己的想法去改變對方。可是多少次我們從愛出發,卻走向了他的反面?求仁得仁,我們求的是愛,得的是什么呢》對孩子是這樣,對我們愛的人也是這樣,忘了曾在哪兒看到過這樣一句話,:“我們應當彼此在意,趁現在還來得及,我們應當慈悲。”


      記得愛國者的老總說過一句話:"如果對方打你左耳光,你就讓他打。甚至把你的右耳光也替過去。如果他是一個有良知的人,他一定會跟你道歉,相反,那個人會繼續惡霸下去,總有一天他會遇到教訓他的人"。

     重要的是彼此相愛,愛是人內心最柔軟的品質,任再大的風波,再糟糕的處境,再難收拾的爛攤子,打出這張王牌,誰會不動心?



posted @ 2009-10-09 19:03 星星點燈 閱讀(241) | 評論 (0)編輯 收藏

僅列出標題  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            av成人黄色| 亚洲成人在线网| 亚洲男人影院| 亚洲黄色成人网| 亚洲成色精品| 狠狠色噜噜狠狠色综合久| 国产精品久久久久久久电影| 免费在线观看一区二区| 国产欧美视频在线观看| 免费亚洲视频| 欧美激情欧美狂野欧美精品| 嫩模写真一区二区三区三州| 国产精品入口麻豆原神| 久久精品91久久久久久再现| 鲁鲁狠狠狠7777一区二区| 久久夜色精品| 亚洲免费电影在线观看| 午夜精品福利一区二区三区av| 亚洲一区久久| 免费高清在线一区| 国产精品久久久久av免费| 国产一区观看| 亚洲欧洲视频| 欧美有码在线观看视频| 欧美激情中文字幕乱码免费| 亚洲最新在线| 老牛嫩草一区二区三区日本| 国产精品久久久久久久久久免费| 欧美色另类天堂2015| 黄色成人免费观看| 夜夜嗨av一区二区三区四季av | 欧美电影在线观看| 欧美日韩综合不卡| 在线成人免费视频| 久久一区中文字幕| 欧美一区激情视频在线观看| 国产精品看片你懂得| 欧美自拍偷拍| 欧美午夜宅男影院| aa成人免费视频| 一本色道久久综合亚洲91| 久久一区二区精品| 久久经典综合| 在线观看精品| 久久亚洲精品欧美| 久久成年人视频| 国产日韩一级二级三级| 狂野欧美激情性xxxx| 亚洲国产乱码最新视频| 国产精品成人一区二区| 亚洲毛片在线观看.| 亚洲激情社区| 国产精品女同互慰在线看| 午夜精品久久| 久久久www| 国产精品久久久久aaaa九色| 一区二区三区高清在线观看| 一区二区三区免费网站| 国产欧美一区二区精品秋霞影院 | 看片网站欧美日韩| 亚洲精品资源美女情侣酒店| 亚洲一区二区三区免费视频| 国产日韩专区| 亚洲精品少妇| 亚洲精美视频| 欧美一区免费| 亚洲欧美国内爽妇网| 久久久99爱| 久久精品国产2020观看福利| 欧美日韩人人澡狠狠躁视频| 国产亚洲精品一区二555| 亚洲亚洲精品三区日韩精品在线视频| 鲁大师影院一区二区三区| 国产精品久久久久免费a∨| 亚洲国产日韩欧美在线动漫| 一区免费在线| 久久久精品免费视频| 久久精品女人天堂| 欧美午夜一区二区| 亚洲视频观看| 久久久久.com| 亚洲黄网站黄| 欧美久久九九| 中文在线资源观看网站视频免费不卡| 一本色道婷婷久久欧美| 欧美午夜一区二区三区免费大片| 夜夜嗨一区二区三区| 亚洲欧美一区二区三区久久| 国产日韩成人精品| 校园春色综合网| 欧美a级在线| 中文日韩欧美| 国产亚洲精品一区二区| 久久久99精品免费观看不卡| 亚洲激情av在线| 午夜精品久久久久| 一区二区在线看| 国产精品久久久久国产精品日日| 久久久久国产精品人| 91久久极品少妇xxxxⅹ软件| 亚洲一区黄色| 亚洲精品国产欧美| 好吊成人免视频| 国产精品久久久久久五月尺| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲午夜影视影院在线观看| 欧美1区2区3区| 日韩午夜在线电影| 国产偷自视频区视频一区二区| 久久精品视频导航| 日韩视频免费在线| 狠狠色综合一区二区| 国产欧美日韩精品在线| 国产精品福利在线观看| 欧美高清视频免费观看| 久久久中精品2020中文| 久久精品欧美| 免费不卡亚洲欧美| 你懂的视频一区二区| 美女精品在线观看| 免费的成人av| 国产精品高精视频免费| 国产精品专区h在线观看| 国产精品一区二区久久久| 国产精品日韩专区| 影音先锋日韩有码| 亚洲人成网站在线观看播放| 亚洲精品日韩久久| 亚洲永久免费精品| 久久野战av| 亚洲精品国产精品乱码不99按摩 | 99国产精品久久久久久久| 亚洲日本在线视频观看| 亚洲欧美日韩国产精品| 欧美成人免费在线视频| 国产女主播一区二区三区| 亚洲第一综合天堂另类专| 99精品欧美一区二区三区| 久久不射中文字幕| 亚洲第一主播视频| 毛片一区二区三区| 美国成人毛片| 亚洲黑丝一区二区| 香蕉乱码成人久久天堂爱免费| 国产色产综合产在线视频| 久久精品国产久精国产思思| 经典三级久久| 亚洲国产视频一区二区| 欧美日韩免费一区| 欧美亚洲免费| 欧美激情视频网站| 欧美在线3区| 欧美精品色网| 久久伊人亚洲| 国产精品久久久久久一区二区三区 | 亚洲无毛电影| 国产自产高清不卡| 亚洲精品网站在线播放gif| 国产目拍亚洲精品99久久精品| 久久亚洲国产精品日日av夜夜| 欧美日韩一级黄| 欧美电影免费观看大全| 国产亚洲激情在线| 亚洲性线免费观看视频成熟| 亚洲国产精品久久久| 亚洲欧美日韩在线综合| 夜夜爽www精品| 欧美成人精品在线观看| 久久成人久久爱| 国产精品户外野外| 亚洲蜜桃精久久久久久久| 亚洲日本欧美| 欧美成人精品| 欧美激情精品久久久久久黑人 | 欧美日韩综合网| 亚洲国产高清自拍| 午夜激情亚洲| 亚洲人成亚洲人成在线观看| 亚洲调教视频在线观看| 亚洲一区二区三区精品视频| 欧美无乱码久久久免费午夜一区| aⅴ色国产欧美| 久久久久成人网| 亚洲破处大片| 亚洲日韩第九十九页| 亚洲激情欧美| 国产精品v欧美精品v日韩精品| 亚洲自拍16p| 欧美国产精品久久| 亚洲自拍偷拍麻豆| 国产精品久久网| 99在线精品视频在线观看| 亚洲免费一在线| 久久久久国色av免费看影院| 亚洲午夜小视频| 国产一区二区三区的电影| 久久成人综合网| 正在播放欧美一区| 国产一区二区三区av电影| 久久久久一区二区三区四区|