<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆:19 文章:2 評論:6 引用:0
    BlogJava 首頁 發(fā)新隨筆
    發(fā)新文章 聯(lián)系 聚合管理

    2006年5月23日

    我個人憑借自己的眼光和技術,創(chuàng)作了一個有潛在商業(yè)價值的網(wǎng)站,中國IDC資源導航,當然名稱雖然是導
    航,但我的想法是作成國內(nèi)IDC行業(yè)的資源整合,主要內(nèi)容包括IDC導航站、商務站、資訊站、論壇四個版
    塊。

    導航站:是收集互聯(lián)網(wǎng)資源,為客戶導航;
    商務站:是整合國內(nèi)現(xiàn)有運營商,讓運營商在此建立自己的信息平臺。目標是形成國際IDC商務站;
    資訊站:是國內(nèi)外有關IDC的新聞資訊、技術信息;

    我現(xiàn)在是一個人在作,目前版本是1。0只有導航站。2。0正在全面開發(fā)之中,增加商務站。生成Html頁,利
    于搜索引擎的收錄。目前使用技術是asp+sql2000,但準備在4。0時有可能全面改版,使用技術Jsp+MySql。

    目前的問題,個人精力有限,開發(fā)速度慢,思維有限,希望業(yè)界精英提供好的建議,歡迎懂技術的精英加
    入。現(xiàn)在純屬開發(fā)階段,但可以承諾,如果項目有發(fā)展,可以分得相應股份。

    QQ:316156915
    Msn:yan65919@hotmail.com
    E-mail:yan65919@gmail.com

    目前可以看到的痕跡:www.idcdh.com
    posted @ 2006-10-24 11:33 yanzhicun 閱讀(401) | 評論 (1)編輯 收藏
     
    今天“百年不遇”的停電了,看了一天書。晚上搞了一下全文索引,決定把心得貼出來,我盡量寫的詳細,大家共同學習,歡迎指正!
      
      1、啟動 Microsoft Search 服務
      
        開疾說?->SQL程序組-->服務管理器-->下拉筐-->Microsoft Search 服務-->啟動它
      
      2、
       ..\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目錄里建一個非空noise.chs文件
       非空noise.chs文件,也有人說是空的noise.chs文件,但我每次都往里寫幾個沒用的字母。
      
      3、建立環(huán)境
      
        打開查詢分析器-->執(zhí)行下列腳本:
      --------------------------------------------
      create database test ---創(chuàng)建test數(shù)據(jù)庫
      use test       ---選擇test數(shù)據(jù)庫
      create table dali (ID int not null primary key,MyImage image,FileType varchar(255),FileNmae varchar(255)) ---創(chuàng)建dali表
      --dali表中 Id,MyImage,FileType 三列是必須的,因為要對image列索引的話,必須要有一個主鍵列,一個image列,一個存放文件類型的列
      --我們知道在windows系統(tǒng)中文件類型是靠擴展名來區(qū)分的所以FileType列也就是用來放 文件的擴展名
      --------------------------------------------
      
      sp_fulltext_database 'enable' --為全文索引啟用數(shù)據(jù)庫
      sp_fulltext_catalog 'My_FullDir', 'create' ---創(chuàng)建一個叫My_FullDif的全文目錄
      
      declare @Key sysname ; select @Key=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('a') and a.name='a' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
      exec sp_fulltext_table 'dali','create','My_FullDir',@Key ----這兩句是為全文索引,對表進行標記
      
      sp_fulltext_column 'dali','MyImage','add',0x0804,'FileType' ---這句是指定MyImage列為全文索引列,FileType是類型列
      ------------------------------------------------
      4、在c盤下放一個擴展名為doc的word文件,一個擴展名為xls的excel文件,一個擴展名為htm的網(wǎng)頁文件,個擴展名為bmp的圖片共4個,大家可根據(jù)實際情況放入!
      
      5、插入數(shù)據(jù)
      
       建立下面這個存儲過程
      --------------------------------------------------
      CREATE PROCEDURE sp_textcopy
       @srvname  varchar (30),
       @login   varchar (30),
       @password  varchar (30),
       @dbname   varchar (30),
       @tbname   varchar (30),
       @colname  varchar (30),
       @filename  varchar (30),
       @whereclause varchar (40),
       @direction char(1)
      AS
      /* 這是使用textcopy工具將文件插入到數(shù)據(jù)庫中,如果有前臺工具可以用前臺開發(fā)工具將文件插入,這里為了演示 */
      DECLARE @exec_str varchar (255)
      SELECT @exec_str='textcopy /S ' @srvname ' /U ' @login ' /P ' @password ' /D ' @dbname ' /T' @tbname ' /C ' @colname ' /W"' @whereclause '" /F"' @filename '" /' @direction
      EXEC master..xp_cmdshell @exec_str
      ----------------------------------------------------
      
      insert dali values(1,0x,'doc','大力的doc') ---其中第二列是 0x 它是一個16進制數(shù)對應image列,是必須的,不要寫null,第三列是文件類型,既擴展名
      
      sp_textcopy '你的服務器名','sa','你的密碼','test','dali','MyImage','c:\大力的doc.doc','where ID=1','I'
      -------依次參數(shù)是:實例名,用戶名,密碼,數(shù)據(jù)庫名,表名,image列名,路徑及文件名,條件(你必須保證它只選擇一行),I
      ---------------------------------------------------------------------------------------------------------------------
      insert dali values(2,0x,'bmp','圖片')
      sp_textcopy '你的服務器名','sa','你的密碼','test','dali','MyImage','c:\圖片.bmp','where ID=2','I' --注意條件是 ID=2
      
      insert dali values(3,0x,'xls','Excel文件')
      sp_textcopy '你的服務器名','sa','你的密碼','test','dali','MyImage','c:\Excel文件.xls','where ID=3','I' --注意條件是 ID=3
      
      insert dali values(4,0x,'htm','網(wǎng)頁')
      sp_textcopy '你的服務器名','sa','你的密碼','test','dali','MyImage','c:\網(wǎng)頁.htm','where ID=4','I' --注意條件是 ID=4
      
      ----------上面的語句,要保證類型一樣,路徑正確,條件唯一正確應該就可以了
      
      6、填充全文索引
      
      sp_fulltext_table 'dali','start_full' ---第一個參數(shù)是表名,第二個參數(shù)是啟動表的全文索引的完全填充
      
      7、可以開始你的實驗了
      
      select * from dali where contains(MyImage,'J老師')
      
      select * from dali where contains(MyImage,'海老師')
      
      ------END----------
      --調(diào)試環(huán)境:SQLServer2K、Windows2Kas
    posted @ 2006-07-12 12:00 yanzhicun 閱讀(618) | 評論 (0)編輯 收藏
     

    在SQL 企業(yè)管理器上操作步驟:

    一:進入企業(yè)管理器,打開支持服務,選取全文檢索,點擊啟動。

     

    二:對相關的數(shù)據(jù)表建立全文索引。

    三:全文索引建立向?qū)?/font>

     

     

     

    然后確定提交后,建立向?qū)Ь突就瓿伞?/p>

    到這里在SQL上建立全文索引已經(jīng)完成!

    四:補充:由于全文填充是按照調(diào)度里設定周期進行的,所以不會馬上生效,如果需要的話可以點擊全目錄,運行填充。通常數(shù)據(jù)量大的話不建議在訪問量大的時候進行。

     

    解決在全文搜索中搜索中文字符出錯補丁:點擊下載

    解決中文字符出錯問題:

    方法一:
    把下載解壓的文件復制到...\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\
    目錄下(該路徑為全文目錄路徑,可以全文目錄屬性中查看)

    方法二:
    編輯...\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目錄下的
    noise.chs文件,清空文檔,輸入‘@’(其他的偏僻符號也可以)


    最后,重新進行全文完全填充!

    posted @ 2006-07-12 11:44 yanzhicun 閱讀(370) | 評論 (0)編輯 收藏
     

    引言

    微軟的SQL Server數(shù)據(jù)庫是一個在中低端企業(yè)應用中占有廣泛市場的關系型數(shù)據(jù)庫系統(tǒng),它以簡單、方便、易用等特性深得眾多軟件開發(fā)人員和數(shù)據(jù)庫管理人員的鐘愛。但SQL Server 7.0以前的數(shù)據(jù)庫系統(tǒng)由于沒有全文檢索功能,致使無法提供像文本內(nèi)容查找此類的服務,成為一個小小的遺憾。從SQL Server 7.0起,到如今的SQL Server 2000終于具備了全文檢索功能,使用戶可以高效地檢索存儲在數(shù)據(jù)庫char、varchar、text、ntext、nchar、nvarchar等數(shù)據(jù)類型列中的文本數(shù)據(jù)。

    建立全文索引

    在進行全文檢索之前,必須先建立和填充數(shù)據(jù)庫全文索引。為了支持全文索引操作,SQL Server 7.0新增了一些存儲過程和Transact-SQL語句。使用這些存儲過程創(chuàng)建全文索引的具體步驟如下(括號內(nèi)為調(diào)用的存儲過程名稱):

    1. 啟動數(shù)據(jù)庫的全文處理功能(sp_fulltext_

    database);;

    2. 建立全文檢索目錄(sp_fulltext_catalog);

    3.在全文檢索目錄中注冊需要全文索引的表(sp_fulltext_table);

    4. 指出表中需要全文檢索的列名(sp_fulltext_

    column);;

    5. 為表創(chuàng)建全文索引(sp_fulltext_table);;

    6. 填充全文檢索目錄(sp_fulltext_catalog)。

    下面舉例說明如何創(chuàng)建全文索引,在本例中,對Test數(shù)據(jù)庫Book表中Title列和Notes列建立全文索引。

    use test //打開數(shù)據(jù)庫

    //打開全文索引支持,啟動SQL Server的全文搜索服務

    execute sp_fulltext_database ‘enable’

    //建立全文檢索目錄ft_test

    execute sp_fulltext_catalog ‘ft_test’, ‘create’

    為Title列建立全文索引數(shù)據(jù)元,pk_title為Book表中由主鍵所建立的唯一索引,這個參數(shù)是必需的。

    execute sp_fulltext_table ‘book’,‘create’, ‘ft_test’,‘pk_title’

    //設置全文索引列名

    execute sp_fulltext_column ‘book’, ‘title’, ‘a(chǎn)dd’

    execute sp_fulltext_column ‘book’,‘notes’, ‘a(chǎn)dd’

    //建立全文索引

    execute sp_fulltext_table ‘book’, ‘a(chǎn)ctivate’

    //填充全文索引目錄

    execute sp_fulltext_catalog ‘ft_test’, ‘start_full’

    至此,全文索引建立完畢。

    進行全文檢索

    SQL Server 2000提供的全文檢索語句主要有CONTAINS和FREETEXT。CONTAINS語句的功能是在表的所有列或指定列中搜索:一個字或短語;一個字或短語的前綴;與一個字相近的另一個字;一個字的派生字;一個重復出現(xiàn)的字。

    CONTAINS語句的語法格式為:

    CONTAINS({column | *}), <contains_search

    _condition>)

    其中,column是搜索列,使用“*”時說明對表中所有全文索引列進行搜索。Contains_search_

    condition 說明CONTAINS語句的搜索內(nèi)容,其語法格式為:

    {<simple_term>|<prefix_term>|<proximity_term>|<generation_term>|<weighted_term>}[{{AND|AND NOT|OR}<contains_search_condition>}] [...n]

    下面就simple_term和prefix_term參數(shù)做簡要說明:

    simple_term是CONTAINS語句所搜索的單字或短語,當搜索的是一個短語時,必須使用雙引號作為定界符。其格式為:

    {‘word’|“ phrase”}

    prefix_term說明CONTAINS語句所搜索的字或短語前綴,其格式為:

    {“word*” | “phrase*”}

    例如,下面語句檢索Book表的Title列和Notes列中包含“database”或“computer”字符串的圖書名稱及其注釋信息:

    select title, notes

    from book

    where contains(tilte, ‘database’) or contains(notes,‘database’)

    or contains(title,‘computer’) or contains(notes,‘computer’)

    FREETEXT語句的功能是在一個表的所有列或指定列中搜索一個自由文本格式的字符串,并返回與該字符串匹配的數(shù)據(jù)行。所以,F(xiàn)REETEXT語句所執(zhí)行的功能又稱做自由式全文查詢。

    FREETEXT語句的語法格式為:FREETEXT({column | * },‘freetext_string’)

    其中,column是被搜索列,使用“*”時說明對表中的所有全文索引列進行搜索。Freetext_string參數(shù)指出所搜索的自由文本格式字符串。

    例如,下面語句使用FREETEXT語句搜索Book表中包含“Successful Life”字符串的數(shù)據(jù)行:

    select title, notes

    from book

    where freetext(*,‘Successful Life’)

    posted @ 2006-07-12 11:42 yanzhicun 閱讀(455) | 評論 (0)編輯 收藏
     
    使用SQL?SERVER?2000的全文檢索功能?

     ?
    步驟:

    1、??打開NorthWind數(shù)據(jù)庫,右鍵Products表,選擇“全文索引表”,“在表上定義全文索引”,為其創(chuàng)建全文目錄。在“全文索引向?qū)А敝校x擇你需要全文查詢條件的列(可以是文本或圖像),我們選擇Productname和QuantityPerUnit列。然后下一步,輸入一個新的目錄proCatalog,點擊下一步。在填充調(diào)度一項里,我們暫時不建立填充調(diào)度。接著“下一步”,全成全文索引向?qū)АM瓿珊螅覀兛梢钥吹皆凇叭哪夸洝崩铮嗔艘粋€全文目錄proCatalog。右鍵proCatalog屬性,可以看到其狀態(tài)、表、調(diào)度情況。
    2、??右鍵全文目錄proCatalog,?“啟動完全填充”,系統(tǒng)會出現(xiàn)“全文目錄填充成功啟動”。
    3、??這時,我們可以使用Transact-SQL進行全文檢索了,我們使用CONTAINS、FREETEXT等謂詞。如:


    檢索ProductName中,即包含b又包含c的所有列

    SELECT?*

    FROM?Products

    WHERE?CONTAINS(ProductName,?'"c*"?and?"b*"?')

    ?

    檢索ProductName中,即包含chai?chang?tofu之一的所有列

    SELECT?*

    FROM?Products

    WHERE?FREETEXT(ProductName,?'chai?chang?tofu?')

    ?

    我們還可以使用CONTAINSTABLE、FREETEXTTABLE等

    ?

    4、??我們可以用.NET創(chuàng)建WEB或Form客戶端,提供一個良好的全文檢索界面,使自己的應用程序得到擴展

    ?

    ?

    ?

    參考:
    全文查詢有關的系統(tǒng)存儲過程

    (1)啟動數(shù)據(jù)庫的全文處理功能(sp_fulltext_datebase);?
    (2)建立全文目錄(sp_fulltext_catalog);?
    (3)在全文目錄中注冊需要全文索引的表(sp_fulltext_table);?
    (4)指出表中需要全文檢索的列名(sp_fulltext_column)?
    (5)為表創(chuàng)建全文索引(sp_fulltext_table);?
    (6)填充全文索引(sp_fulltext_catalog)。

    ?

    ?

    ?

    全文查詢支持

    Microsoft&reg;?SQL?Server&#8482;?2000?在接收帶全文構造的?Transact-SQL?語句時,使用全文提供程序從?Microsoft?搜索服務檢索所需信息。全文構造是?CONTAINS?或?FREETEXT?謂詞,或者是?CONTAINSTABLE?或?FREETEXTTABLE?行集函數(shù)。如果不知道包含搜索條件的列,全文構造可以在全文索引中引用多列。該進程的流程如下圖所示。

    ?


    這一進程涉及的步驟包括:?

    應用程序給?SQL?Server?實例發(fā)送帶全文構造的?Transact-SQL?語句。

    SQL?Server?關系引擎通過查詢系統(tǒng)表驗證全文構造,確定全文索引是否覆蓋列引用。關系引擎將每個?SQL?語句簡化為一系列行集操作,并使用?OLE?DB?將這些操作傳遞給基礎組件,通常是存儲引擎。關系引擎通過全文提供程序而不是存儲引擎,將任何全文構造轉換成對行集的請求。請求的行集是滿足搜索條件和等級的鍵集,而這個等級表示每個鍵的數(shù)據(jù)滿足搜索條件的程度。向全文提供程序發(fā)送的行集請求命令包括全文檢索條件。

    全文提供程序驗證請求并將搜索條件更改為由Microsoft?搜索服務的查詢支持組件使用的形式。將請求發(fā)送到搜索服務。

    查詢支持組件使用搜索引擎組件從全文索引析取所請求的數(shù)據(jù)。然后以行集的形式將這些數(shù)據(jù)傳遞回全文提供程序。

    全文提供程序?qū)⑦@個行集返回給關系引擎。

    關系引擎將它從存儲引擎和全文提供程序收到的所有行集進行組合,以生成發(fā)送回客戶端的最終結果集。?

    ?

    全文目錄和索引

    Microsoft&reg;?SQL?Server&#8482;?2000?全文索引為在字符串數(shù)據(jù)中進行復雜的詞搜索提供有效支持。全文索引存儲關于重要詞和這些詞在特定列中的位置的信息。全文查詢利用這些信息,可快速搜索包含具體某個詞或一組詞的行。

    全文索引包含在全文目錄中。每個數(shù)據(jù)庫可以包含一個或多個全文目錄。一個目錄不能屬于多個數(shù)據(jù)庫,而每個目錄可以包含一個或多個表的全文索引。一個表只能有一個全文索引,因此每個有全文索引的表只屬于一個全文目錄。

    全文目錄和索引不存儲在它們所屬的數(shù)據(jù)庫中。目錄和索引由?Microsoft?搜索服務分開管理。

    全文索引必須在基表上定義,而不能在視圖、系統(tǒng)表或臨時表上定義。?全文索引的定義包括:?

    能唯一標識表中各行的列(主鍵或候選鍵),而且不允許?NULL?值。

    索引所覆蓋的一個或多個字符串列。?

    全文索引由鍵值填充。每個鍵的項提供與該鍵相關聯(lián)的重要詞(干擾詞或終止詞除外)、它們所在的列和它們在列中的位置等有關信息。

    格式化文本字符串(如?Microsoft&reg;?Word&#8482;?文檔文件或?HTML?文件)不能存儲在字符串或?Unicode?列中,因為這些文件中的許多字節(jié)包含不構成有效字符的數(shù)據(jù)結構。數(shù)據(jù)庫應用程序可能仍需要訪問這些數(shù)據(jù)并對其應用全文檢索。因為?image?列并不要求每一字節(jié)都構成一個有效字符,所以許多站點將這類數(shù)據(jù)存儲在?image?列中。SQL?Server?2000?引入了對存儲在?image?列中的這些類型的數(shù)據(jù)執(zhí)行全文檢索的能力。SQL?Server?2000?提供篩選,可從?Microsoft?Office&#8482;?文件(.doc、.xls?和?.ppt?文件)、文本文件(.txt?文件)及?HTML?文件(.htm?文件)中析取文本化數(shù)據(jù)。設計表時除包括保存數(shù)據(jù)的?image?列外,還需包括綁定列來保存存儲在?image?列中的數(shù)據(jù)格式的文件擴展名。可以創(chuàng)建引用?image?列和綁定列的全文索引,以便在存儲于?image?列中的文本化信息上啟用全文檢索。SQL?Server?2000?全文檢索引擎使用綁定列中的文件擴展名信息,選擇從列中析取文本化數(shù)據(jù)的合適的篩選。

    全文索引是用于執(zhí)行兩個?Transact-SQL?謂詞的組件,以便根據(jù)全文檢索條件對行進行測試:?

    CONTAINS

    FREETEXT?

    Transact-SQL?還包含兩個返回符合全文檢索條件的行集的函數(shù):?

    CONTAINSTABLE

    FREETEXTTABLE?

    SQL?Server?在內(nèi)部將搜索條件發(fā)送給?Microsoft?搜索服務。Microsoft?搜索服務查找所有符合全文檢索條件的鍵并將它們返回給?SQL?Server。SQL?Server?隨后使用鍵的列表來確定表中要處理的行。

    全文索引

    對?Microsoft&reg;?SQL?Server&#8482;?2000?數(shù)據(jù)的全文支持涉及兩個功能:對字符數(shù)據(jù)發(fā)出查詢的能力和創(chuàng)建及維護基礎索引以簡化這些查詢的能力。

    全文索引在許多地方與普通的?SQL?索引不同。

    普通?SQL?索引
    ?全文索引
    ?
    存儲時受定義它們所在的數(shù)據(jù)庫的控制。
    ?存儲在文件系統(tǒng)中,但通過數(shù)據(jù)庫管理。
    ?
    每個表允許有若干個普通索引。
    ?每個表只允許有一個全文索引。
    ?
    當對作為其基礎的數(shù)據(jù)進行插入、更新或刪除時,它們自動更新。
    ?將數(shù)據(jù)添加到全文索引稱為填充,全文索引可通過調(diào)度或特定請求來請求,也可以在添加新數(shù)據(jù)時自動發(fā)生。
    ?
    不分組。
    ?在同一個數(shù)據(jù)庫內(nèi)分組為一個或多個全文目錄。
    ?
    使用?SQL?Server?企業(yè)管理器、向?qū)Щ?Transact-SQL?語句創(chuàng)建和除去。
    ?使用?SQL?Server?企業(yè)管理器、向?qū)Щ虼鎯^程創(chuàng)建、管理和除去。
    ?


    ?

    這些差異使大量管理任務變得不可缺少。全文管理是在幾個層次上實施的:?

    服務器?

    可以對服務器范圍的某些屬性(如?resource_usage)加以設置,以便增加或減少全文服務所使用的系統(tǒng)資源數(shù)量。


    說明??全文引擎作為名為?Microsoft?搜索的服務在?Microsoft?Windows?NT&reg;?Server?和?Microsoft?Windows&reg;?2000?Server?上運行。對于?Microsoft?SQL?Server?個人版,Microsoft?搜索服務不可用。盡管這意味著?Microsoft?搜索服務既未安裝在?Microsoft?Windows?95/98?上,也未安裝在?Windows?NT?工作站或?Windows?2000?Professional?客戶端上,但這些客戶端在連接到?SQL?Server?標準版安裝或企業(yè)版實例時可以使用這項服務。

    數(shù)據(jù)庫?

    必須啟用數(shù)據(jù)庫才能使用全文服務。可以在已啟用的數(shù)據(jù)庫中創(chuàng)建和除去一個或多個全文目錄的元數(shù)據(jù)。

    全文目錄?

    全文目錄包含數(shù)據(jù)庫中的全文索引。每個目錄可以用于數(shù)據(jù)庫內(nèi)的一個或多個表的索引需求。該目錄中的索引是使用這里介紹的管理功能來填充的。(全文目錄必須駐留在與?SQL?Server?實例相關聯(lián)的本地硬盤驅(qū)動器上。不支持可移動的驅(qū)動器、軟盤和網(wǎng)絡驅(qū)動器)。在每個服務器上最多可創(chuàng)建?256?個全文目錄。


    說明??Windows?NT?故障轉移群集環(huán)境完全支持全文索引。有關更多信息,請參見在故障轉移群集中運行全文查詢。

    表?

    首先,必須為全文支持啟用表。然后,為與該表相關聯(lián)的全文索引創(chuàng)建元數(shù)據(jù)(如表名及其全文目錄)。表啟用后,可以用為全文支持而啟用的列中的數(shù)據(jù)填充它。如果表的全文定義被更改(例如,添加一個也將為全文檢索而索引的新列),則必須重新填充相關的全文目錄以使全文索引與新的全文定義同步。

    列?

    可以從非活動的注冊表中添加或除去支持全文查詢的列。

    在所有這些級別上,可使用工具檢索元數(shù)據(jù)和狀態(tài)信息。

    和常規(guī)?SQL?索引一樣,當在相關表中修改數(shù)據(jù)時,可自動更新全文索引。或者,也可以適當?shù)拈g隔手工重新填充全文索引。這種重寫可能既耗時又大量占用資源,因此,在數(shù)據(jù)庫活動較少時,這通常是在后臺運行的異步進程。

    應將具有相同更新特性的表(如更改少的與更改多的,或在一天的特定時段內(nèi)頻繁更改的表)組合在一起,并分配給相同的全文目錄。通過以此方法設置全文目錄填充調(diào)度,使得全文索引和表保持同步,且在數(shù)據(jù)庫活動較多時不對數(shù)據(jù)庫服務器的資源使用產(chǎn)生負面影響。

    為全文目錄中的表安排全文索引的位置是非常重要的。在為全文目錄指定表時,應該注意下列基本原則:?

    始終選擇可用于全文唯一鍵的最小唯一索引。(4?個字節(jié)且基于整數(shù)的索引是最佳的。)這將顯著減少文件系統(tǒng)中?Microsoft?搜索服務所需要的資源。如果主鍵很大(超過?100?字節(jié)),可以考慮選擇表中其它唯一索引(或創(chuàng)建另一個唯一索引)作為全文唯一鍵。否則,如果全文唯一鍵的大小達到允許的上限(450?字節(jié)),全文填充將無法繼續(xù)進行。

    如果進行索引的表有成千上萬行,請將該表指定給其自己的全文目錄。

    應該考慮對其進行全文索引的表中發(fā)生的更改數(shù)以及表的行數(shù)。如果要更改的總行數(shù),加上上次全文填充期間表中出現(xiàn)的行數(shù)達到成千上萬行,請將該表指定給其自己的全文目錄。?

    請參見

    sp_fulltext_table

    CONTAINS

    一個謂詞,用于搜索包含基于字符的數(shù)據(jù)類型的列,該列與單個詞和短語,以及與另一個詞一定范圍之內(nèi)的近似詞精確或模糊(不太精確的)匹配或者加權匹配。CONTAINS?可以搜索:?

    詞或短語。

    詞或短語的前綴。

    另一個詞附近的詞。

    由另一個詞的詞尾變化生成的詞(例如,詞?drive?是?drives、drove、driving?和?driven?詞尾變化的詞干)。

    比另一個詞具有更高加權的詞。?

    語法
    CONTAINS
    ????(?{?column?|?*?}?,?'<?contains_search_condition?>'??????

    ?

    FREETEXT

    是個謂詞,用于搜索含有基于字符的數(shù)據(jù)類型的列,其中的值符合在搜索條件中所指定文本的含義,但不符合表達方式。使用?FREETEXT?時,全文查詢引擎內(nèi)部將?freetext_string?拆分為若干個搜索詞,并賦予每個詞以不同的加權,然后查找匹配。

    語法

    FREETEXT?(?{?column?|?*?}?,?'freetext_string'?

    ?

    CONTAINSTABLE?和?FREETEXTTABLE?函數(shù)用來指定返回每行的相對排名的全文查詢。這兩個函數(shù)與全文謂詞?CONTAINS?和?FREETEXT?很相似,但是用法不同。

    (此文部分資料來自MSDN)
    posted @ 2006-07-12 11:39 yanzhicun 閱讀(562) | 評論 (0)編輯 收藏
     

    JavaScript實際應用:innerHTMl和確認提示的使用

      今天開發(fā)中涉及到對一個層的信息控制,就是控制一個層中顯示什么信息,查找資料才知道使用innerHTML屬性來控制層的值,這個innerHTML跟表單里面的value屬性有點類似,能夠控制層的顯示值。

      比如說我一個div層里本來沒有值,我處罰一個事件后要顯示值,那么就能夠使用innerHTML屬性了,其實innerHTML屬性除了能控制層以外,還能控制窗口內(nèi)容的所有元素,但是我沒有測試過。

    (1)對div標簽的控制

    div標簽跟span標簽是不一樣的,div是一個層的塊,span是一行,我們下面看演示就知道區(qū)別了。先來看一段控制div的代碼。

    程序代碼 程序代碼
    <script language="javascript">
    function chageDiv(number)
    {
    if (number == 1) {
    document.getElementById("div1").innerHTML = "值為1";
    }
    if (number == 2) {
    document.getElementById("div1").innerHTML = "值為2";
    }
    }
    </script>

    DIV塊測試:<div id="div1">默認值</div>

    <a href="#" onClick="chageDiv(1)">改變值為1</a>
    <a href="#" onClick="chageDiv(2)">改變值為2</a>


    演示:
    HTML代碼


    [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]


      運行的時候,點擊“改變值為1”那么“默認值”這個內(nèi)容將會被改變?yōu)椤爸禐?”,但是注意其中的界面,就是會發(fā)現(xiàn)“DIV測試:”和“默認值”是兩行顯示的,因為DIV是按塊來顯示的。

    (2)對span的控制

    與div類似,但是它是按照行來顯示的,看下面的代碼:
    程序代碼 程序代碼
    <script language="javascript">
    function chageSpan(number)
    {
    if (number == 1) {
    document.getElementById("span1").innerHTML = "值為1";
    }
    if (number == 2) {
    document.getElementById("span1").innerHTML = "值為2";
    }
    }
    </script>
    Span行測試:
    <span id="span1">默認值</span><br>
    <a href="#" onClick="chageSpan(1)">改變值為1</a>
    <a href="#" onClick="chageSpan(2)">改變值為2</a>


    當點擊“改變值為1”的時候,“默認值”將變?yōu)椤爸禐?”,但是“Span行測試”和“默認值”是在同一行顯示的,跟DIV不一樣。

    另外一個值得注意的就是,不管是div還是span,后面的名字都是以為id來定義的,不是象表單一樣是使用name來定義的。

    (3)confirm確認提示框的制作

    當我們要執(zhí)行一個危險操作的時候,比如刪除某個內(nèi)容等,那么就應該給用戶相應的提示來用戶不容易犯錯誤。一般提示都是使用confirm()函數(shù)來處理的,給它提交一個參數(shù)作為顯示的信息提示,那么訪問的時候?qū)棾鰧υ捒颍绻c擊了“確定”那么將改函數(shù)返回true,點擊了“取消”將放回false,我們針對這個特點來使用兩種方法來控制用戶是否執(zhí)行某個操作。

    看代碼:

    程序代碼 程序代碼
    <script language="javascript">
    function accessNeteasy()
    {
    if(confirm('你真的要訪問網(wǎng)易新聞 ?')) {
    location='http://calendar.eyou.eyou';
    }
    }
    function accessSina()
    {
    if (confirm('你確定要訪問新浪新聞 ?')) {
    return true;
    } else {
    return false;
    }
    }
    </script>

    訪問方式一:
    <a href="#" onClick="accessNeteasy()">網(wǎng)易新聞</a><br>
    訪問方式二:
    <a href="http://news.sina.com.cn" onClick="return accessSina()">新浪新聞</a>


      我們這里建立了兩個函數(shù),一個accessNeteay,一個accessSina,就是訪問網(wǎng)易和新浪,我們使用不同的方法,第一種就是當點了鏈接以后,判斷如果是true的話,那么就location到指定鏈接,這種方法比較不具有通用型,只能針對單個的鏈接。第二種方法是使用返回值的形式,當確定要訪問的時候返回true,不確定的時候返回false,那么這個可以針對任何鏈接來做,寫成一個通用的信息提示,方便頁面中的調(diào)用。

    以上代碼都經(jīng)過測試通過,可以自己再這個基礎上進行擴展,寫出自己需要的JavaScript代碼。
    更多小技巧建議參考藍色理想的鏈接:http://www.blueidea.com/tech/web/2004/2379.asp

    posted @ 2006-06-06 13:03 yanzhicun 閱讀(620) | 評論 (0)編輯 收藏
     
    mysql的日期和時間函數(shù)

    這里是一個使用日期函數(shù)的例子。下面的查詢選擇所有 date_col 值在最后 30 天內(nèi)的記錄。

    mysql> SELECT something FROM tbl_name
               WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
    
    DAYOFWEEK(date)
    返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的標準。
    mysql> SELECT DAYOFWEEK('1998-02-03');
            -> 3
    
    WEEKDAY(date)
    返回 date 的星期索引(0 = Monday, 1 = Tuesday, ... 6 = Sunday):
    mysql> SELECT WEEKDAY('1998-02-03 22:23:00');
            -> 1
    mysql> SELECT WEEKDAY('1997-11-05');
            -> 2
    
    DAYOFMONTH(date)
    返回 date 是一月中的第幾天,范圍為 131
    mysql> SELECT DAYOFMONTH('1998-02-03');
            -> 3
    
    DAYOFYEAR(date)
    返回 date 是一年中的第幾天,范圍為 1366
    mysql> SELECT DAYOFYEAR('1998-02-03');
            -> 34
    
    MONTH(date)
    返回 date 中的月份,范圍為 112
    mysql> SELECT MONTH('1998-02-03');
            -> 2
    
    DAYNAME(date)
    返回 date 的星期名:
    mysql> SELECT DAYNAME("1998-02-05");
            -> 'Thursday'
    
    MONTHNAME(date)
    返回 date 的月份名:
    mysql> SELECT MONTHNAME("1998-02-05");
            -> 'February'
    
    QUARTER(date)
    返回 date 在一年中的季度,范圍為 14
    mysql> SELECT QUARTER('98-04-01');
            -> 2
    
    WEEK(date)
    WEEK(date,first)
    對于星期日是一周中的第一天的場合,如果函數(shù)只有一個參數(shù)調(diào)用,返回 date 為一年的第幾周,返回值范圍為 053 (是的,可能有第 53 周的開始)。兩個參數(shù)形式的 WEEK() 允許你指定一周是否以星期日或星期一開始,以及返回值為 0-53 還是 1-52。 這里的一個表顯示第二個參數(shù)是如何工作的:
    含義
    0 一周以星期日開始,返回值范圍為 0-53
    1 一周以星期一開始,返回值范圍為 0-53
    2 一周以星期日開始,返回值范圍為 1-53
    3 一周以星期一開始,返回值范圍為 1-53 (ISO 8601)
    mysql> SELECT WEEK('1998-02-20');
            -> 7
    mysql> SELECT WEEK('1998-02-20',0);
            -> 7
    mysql> SELECT WEEK('1998-02-20',1);
            -> 8
    mysql> SELECT WEEK('1998-12-31',1);
            -> 53
    
    注意,在版本 4.0 中,WEEK(#,0) 被更改為匹配 USA 歷法。 注意,如果一周是上一年的最后一周,當你沒有使用 2 或 3 做為可選參數(shù)時,MySQL 將返回 0:
    mysql> SELECT YEAR('2000-01-01'), WEEK('2000-01-01',0);
            -> 2000, 0
    mysql> SELECT WEEK('2000-01-01',2);
            -> 52
    
    你可能會爭辯說,當給定的日期值實際上是 1999 年的第 52 周的一部分時,MySQL 對 WEEK() 函數(shù)應該返回 52。我們決定返回 0 ,是因為我們希望該函數(shù)返回“在指定年份中是第幾周”。當與其它的提取日期值中的月日值的函數(shù)結合使用時,這使得 WEEK() 函數(shù)的用法可靠。 如果你更希望能得到恰當?shù)哪?周值,那么你應該使用參數(shù) 2 或 3 做為可選參數(shù),或者使用函數(shù) YEARWEEK()
    mysql> SELECT YEARWEEK('2000-01-01');
            -> 199952
    mysql> SELECT MID(YEARWEEK('2000-01-01'),5,2);
            -> 52
    
    YEAR(date)
    返回 date 的年份,范圍為 10009999
    mysql> SELECT YEAR('98-02-03');
            -> 1998
    
    YEARWEEK(date)
    YEARWEEK(date,first)
    返回一個日期值是的哪一年的哪一周。第二個參數(shù)的形式與作用完全與 WEEK() 的第二個參數(shù)一致。注意,對于給定的日期參數(shù)是一年的第一周或最后一周的,返回的年份值可能與日期參數(shù)給出的年份不一致:
    mysql> SELECT YEARWEEK('1987-01-01');
            -> 198653
    
    注意,對于可選參數(shù) 0 或 1,周值的返回值不同于 WEEK() 函數(shù)所返回值(0), WEEK() 根據(jù)給定的年語境返回周值。
    HOUR(time)
    返回 time 的小時值,范圍為 023
    mysql> SELECT HOUR('10:05:03');
            -> 10
    
    MINUTE(time)
    返回 time 的分鐘值,范圍為 059
    mysql> SELECT MINUTE('98-02-03 10:05:03');
            -> 5
    
    SECOND(time)
    返回 time 的秒值,范圍為 059
    mysql> SELECT SECOND('10:05:03');
            -> 3
    
    PERIOD_ADD(P,N)
    增加 N 個月到時期 P(格式為 YYMMYYYYMM)中。以 YYYYMM 格式返回值。 注意,期間參數(shù) P不是 一個日期值:
    mysql> SELECT PERIOD_ADD(9801,2);
            -> 199803
    
    PERIOD_DIFF(P1,P2)
    返回時期 P1P2 之間的月數(shù)。P1P2 應該以 YYMMYYYYMM 指定。 注意,時期參數(shù) P1P2不是 日期值:
    mysql> SELECT PERIOD_DIFF(9802,199703);
            -> 11
    
    DATE_ADD(date,INTERVAL expr type)
    DATE_SUB(date,INTERVAL expr type)
    ADDDATE(date,INTERVAL expr type)
    SUBDATE(date,INTERVAL expr type)
    這些函數(shù)執(zhí)行日期的算術運算。ADDDATE()SUBDATE() 分別是 DATE_ADD()DATE_SUB() 的同義詞。 在 MySQL 3.23 中,如果表達式的右邊是一個日期值或一個日期時間型字段,你可以使用 +- 代替 DATE_ADD()DATE_SUB()(示例如下)。 參數(shù) date 是一個 DATETIMEDATE 值,指定一個日期的開始。expr 是一個表達式,指定從開始日期上增加還是減去間隔值。expr 是一個字符串;它可以以一個 “-” 領頭表示一個負的間隔值。type 是一個關鍵詞,它標志著表達式以何格式被解釋。 下表顯示 typeexpr 參數(shù)是如何關聯(lián)的:
    typeexpr期望的格式
    SECONDSECONDS
    MINUTEMINUTES
    HOURHOURS
    DAYDAYS
    MONTHMONTHS
    YEARYEARS
    MINUTE_SECOND"MINUTES:SECONDS"
    HOUR_MINUTE"HOURS:MINUTES"
    DAY_HOUR"DAYS HOURS"
    YEAR_MONTH"YEARS-MONTHS"
    HOUR_SECOND"HOURS:MINUTES:SECONDS"
    DAY_MINUTE"DAYS HOURS:MINUTES"
    DAY_SECOND"DAYS HOURS:MINUTES:SECONDS"
    expr 的格式中,MySQL 允許任何字符作為定界符。表中所顯示的是建議的定界字符。如果 date 參數(shù)是一個 DATE 值,并且計算的間隔僅僅有 YEARMONTHDAY 部分(沒有時間部分),那么返回值也是一個 DATE 值。否則返回值是一個 DATETIME 值:
    mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
            -> 1998-01-01 00:00:00
    mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
            -> 1998-01-01
    mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
           -> 1997-12-31 23:59:59
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
        ->                 INTERVAL 1 SECOND);
            -> 1998-01-01 00:00:00
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
        ->                 INTERVAL 1 DAY);
            -> 1998-01-01 23:59:59
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
        ->                 INTERVAL "1:1" MINUTE_SECOND);
            -> 1998-01-01 00:01:00
    mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
        ->                 INTERVAL "1 1:1:1" DAY_SECOND);
            -> 1997-12-30 22:58:59
    mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
        ->                 INTERVAL "-1 10" DAY_HOUR);
            -> 1997-12-30 14:00:00
    mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
            -> 1997-12-02
    
    如果你指定了一個太短的間隔值(沒有包括 type 關鍵詞所期望的所有間隔部分),MySQL 假設你遺漏了間隔值的最左邊部分。例如,如果指定一個 typeDAY_SECOND,那么 expr 值被期望包含天、小時、分鐘和秒部分。如果你象 "1:10" 樣指定一個值,MySQL 假設天和小時部分被遺漏了,指定的值代表分鐘和秒。換句話說,"1:10" DAY_SECOND 被解釋為等價于 "1:10" MINUTE_SECOND。這類似于 MySQL 解釋 TIME 值為經(jīng)過的時間而不是一天的時刻。 注意,如果依著包含一個時間部分的間隔增加或減少一個日期值,該日期值將被自動地轉換到一個日期時間值:
    mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 DAY);
           -> 1999-01-02
    mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 HOUR);
           -> 1999-01-01 01:00:00
    
    如果你使用了確定不正確的日期,返回結果將是 NULL。如果你增加 MONTHYEAR_MONTHYEAR,并且結果日期的天比新月份的最大天數(shù)還大,那么它將被調(diào)整到新月份的最大天數(shù):
    mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
            -> 1998-02-28
    
    注意,上面的例子中,單詞 INTERVAL 和關鍵詞 type 是不區(qū)分字母大小寫的。

    EXTRACT(type FROM date)
    EXTRACT() 函數(shù)使用與 DATE_ADD()DATE_SUB() 一致的間隔類型,但是它用于指定從日期中提取的部分,而不是進行日期算術運算。
    mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
           -> 1999
    mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
           -> 199907
    mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
           -> 20102
    
    TO_DAYS(date)
    給出一個日期 date,返回一個天數(shù)(從 0 年開始的天數(shù)):
    mysql> SELECT TO_DAYS(950501);
            -> 728779
    mysql> SELECT TO_DAYS('1997-10-07');
            -> 729669
    
    TO_DAYS() 無意于使用先于格里高里歷法(即現(xiàn)行的陽歷)(1582)出現(xiàn)的值,因為它不考慮當歷法改變時所遺失的天數(shù)。

    FROM_DAYS(N)
    給出一個天數(shù) N,返回一個 DATE 值:
    mysql> SELECT FROM_DAYS(729669);
            -> '1997-10-07'
    
    FROM_DAYS() 無意于使用先于格里高里歷法(1582)出現(xiàn)的值,因為它不考慮當歷法改變時所遺失的天數(shù)。

    DATE_FORMAT(date,format)
    依照 format 字符串格式化 date 值。下面的修飾符可被用于 format 字符串中:
    修飾符 含義
    %M月的名字 (January..December)
    %W星期的名字 (Sunday..Saturday)
    %D有英文后綴的某月的第幾天 (0th, 1st, 2nd, 3rd, etc.)
    %Y年份,數(shù)字的,4 位
    %y年份,數(shù)字的,2 位
    %X周值的年份,星期日是一個星期的第一天,數(shù)字的,4 位,與 '%V' 一同使用
    %x周值的年份,星期一是一個星期的第一天,數(shù)字的,4 位,與 '%v' 一同使用
    %a縮寫的星期名 (Sun..Sat)
    %d月份中的天數(shù),數(shù)字的 (00..31)
    %e月份中的天數(shù),數(shù)字的 (0..31)
    %m月,數(shù)字的 (00..12)
    %c月,數(shù)字的 (0..12)
    %b縮寫的月份名 (Jan..Dec)
    %j一年中的天數(shù) (001..366)
    %H小時 (00..23)
    %k小時 (0..23)
    %h小時 (01..12)
    %I小時 (01..12)
    %l小時 (1..12)
    %i分鐘,數(shù)字的 (00..59)
    %r時間,12 小時 (hh:mm:ss [AP]M)
    %T時間,24 小時 (hh:mm:ss)
    %S秒 (00..59)
    %s秒 (00..59)
    %pAMPM
    %w一周中的天數(shù) (0=Sunday..6=Saturday)
    %U星期 (00..53),星期日是一個星期的第一天
    %u星期 (00..53),星期一是一個星期的第一天
    %V星期 (01..53),星期日是一個星期的第一天。與 '%X' 一起使用
    %v星期 (01..53),星期一是一個星期的第一天。與 '%x' 一起使用
    %%一個字母 “%”
    所有其它的字符不經(jīng)過解釋,直接復制到結果中:
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
            -> 'Saturday October 1997'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
            -> '22:23:00'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                              '%D %y %a %d %m %b %j');
            -> '4th 97 Sat 04 10 Oct 277'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                              '%H %k %I %r %T %S %w');
            -> '22 22 10 10:23:00 PM 22:23:00 00 6'
    mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
            -> '1998 52'
    
    在 MySQL 3.23 中,在格式修飾符前需要字符 `%'。在更早的 MySQL 版本中,`%' 是可選的。 月份與天修飾符的范圍從零開始的原因是,在 MySQL 3.23 中,它允許存儲不完善的日期值(例如 '2004-00-00')。

    TIME_FORMAT(time,format)
    它的使用方法與上面的 DATE_FORMAT() 函數(shù)相似,但是 format 字符串只包含處理小時、分和秒的那些格式修飾符。使用其它的修飾符會產(chǎn)生一個 NULL 值或 0

    CURDATE()
    CURRENT_DATE
    'YYYY-MM-DD'YYYYMMDD 格式返回當前的日期值,返回的格式取決于該函數(shù)是用于字符串還是數(shù)字語境中:
    mysql> SELECT CURDATE();
            -> '1997-12-15'
    mysql> SELECT CURDATE() + 0;
            -> 19971215
    
    CURTIME()
    CURRENT_TIME
    'HH:MM:SS'HHMMSS 格式返回當前的時間值,返回的格式取決于該函數(shù)是用于字符串還是數(shù)字語境中:
    mysql> SELECT CURTIME();
            -> '23:50:26'
    mysql> SELECT CURTIME() + 0;
            -> 235026
    
    NOW()
    SYSDATE()
    CURRENT_TIMESTAMP
    'YYYY-MM-DD HH:MM:SS'YYYYMMDDHHMMSS 格式返回當前的日期時間值,返回的格式取決于該函數(shù)是用于字符串還是數(shù)字語境中:
    mysql> SELECT NOW();
            -> '1997-12-15 23:50:26'
    mysql> SELECT NOW() + 0;
            -> 19971215235026
    
    注意,函數(shù) NOW() 在每個查詢中只計算一次,也就是在查詢開始執(zhí)行時。這就是說,如果在一個單獨的查詢中多次引用了 NOW(),它只會給出值都是一個相同的時間。

    UNIX_TIMESTAMP()
    UNIX_TIMESTAMP(date)
    如果調(diào)用時沒有參數(shù),以無符號的整數(shù)形式返回一個 Unix 時間戳(從 '1970-01-01 00:00:00' GMT 開始的秒數(shù))。如果以一個參數(shù) date 調(diào)用 UNIX_TIMESTAMP(),它將返回該參數(shù)值從 '1970-01-01 00:00:00' GMT 開始經(jīng)過的秒數(shù)值。date 可以是一個 DATE 字符串,一個 DATETIME 字符串,一個 TIMESTAMP,或者以一個 YYMMDDYYYYMMDD 顯示的本地時間:
    mysql> SELECT UNIX_TIMESTAMP();
            -> 882226357
    mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
            -> 875996580
    
    UNIX_TIMESTAMP 被用于一個 TIMESTAMP 列時,函數(shù)直接返回一個內(nèi)部的時間戳值,而不進行一個隱含地 “string-to-unix-timestamp” 轉換。如果你傳遞一個超出范圍的日期參數(shù)給 UNIX_TIMESTAMP() ,它將返回 0,但是請注意,MySQL 對其僅僅進行基本的檢驗(年范圍 1970-2037,月份 01-12,日期 01-31)。 如果你希望減去 UNIX_TIMESTAMP() 列,你應該需要將結果強制轉換為一有符號整數(shù)。查看章節(jié) 6.3.5 Cast 函數(shù)

    FROM_UNIXTIME(unix_timestamp [,format])
    'YYYY-MM-DD HH:MM:SS'YYYYMMDDHHMMSS 格式返回一個 unix_timestamp 參數(shù)值,返回值的形式取決于該函數(shù)使用于字符串還是數(shù)字語境。 如果 format 給出,返回值依 format 字符串被格式。format 可以包含與 DATE_FORMAT() 函數(shù)同樣的修飾符。
    mysql> SELECT FROM_UNIXTIME(875996580);
            -> '1997-10-04 22:23:00'
    mysql> SELECT FROM_UNIXTIME(875996580) + 0;
            -> 19971004222300
    mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
                                '%Y %D %M %h:%i:%s %x');
            -> '1997 23rd December 03:43:30 1997'
    
    SEC_TO_TIME(seconds)
    'HH:MM:SS'HHMMSS 格式返回參數(shù) seconds 被轉換到時分秒后的值,返回值的形式取決于該函數(shù)使用于字符串還是數(shù)字語境:
    mysql> SELECT SEC_TO_TIME(2378);
            -> '00:39:38'
    mysql> SELECT SEC_TO_TIME(2378) + 0;
            -> 3938
    
    TIME_TO_SEC(time)
    將參數(shù) time 轉換為秒數(shù)后返回:
    mysql> SELECT TIME_TO_SEC('22:23:00');
            -> 80580
    mysql> SELECT TIME_TO_SEC('00:39:38');
            -> 2378
    posted @ 2006-06-01 11:55 yanzhicun 閱讀(352) | 評論 (1)編輯 收藏
     
    54 改變?yōu)g覽器狀態(tài)欄文字提示
    1. <script?language=”JavaScript”>
    2. window.status?=?“A?new?status?message”;
    3. </script>


    55 彈出確認提示框
    1. <script?language=”JavaScript”>
    2. var?
    3. userChoice?=?window.confirm(“Click?OK?or?Cancel”);
    4. if?(
    5. userChoice)?{?
    6. document.write(“You?chose?OK”);
    7. ?}?else?{?
    8. document.write(“You?chose?Cancel”);
    9. ?}
    10. </script>


    56 提示輸入
    1. <script?language=”JavaScript”>
    2. var?
    3. userName?=?window.prompt(“Please?Enter?Your?Name”,”Enter?Your?Name?Here”);
    4. document.write(“Your?Name?is?“?+?userName);
    5. </script>


    57 打開一個新窗口
    1. //打開一個名稱為myNewWindow的瀏覽器新窗口
    2. <script?language=”JavaScript”>
    3. window.open(“http://www.liu21st.com/”,”myNewWindow”);
    4. </script>


    58 設置新窗口的大小
    1. <script?language=”JavaScript”>
    2. window.open(“http://www.liu21st.com/”,”myNewWindow”,'height=300,width=300');
    3. </script>


    59 設置新窗口的位置
    1. <script?language=”JavaScript”>
    2. window.open(“http://www.liu21st.com/”,”myNewWindow”,'height=300,width=300,left=200,screenX=200,top=100,screenY=100');
    3. </script>


    60 是否顯示工具欄和滾動欄
    1. <script?language=”JavaScript”>
    2. window.open(“http:


    61 是否可以縮放新窗口的大小
    1. <script?language=”JavaScript”>
    2. window.open('http://www.liu21st.com/'?,?'myNewWindow',?'resizable=yes'?);</script>


    62 加載一個新的文檔到當前窗口
    1. <a?href='#'?onClick='document.location?=?'125a.html';'?>Open?New?Document</a>


    63 設置頁面的滾動位置
    1. <script?language=”JavaScript”>
    2. if?(
    3. document.all)?{?//如果是IE瀏覽器則使用scrollTop屬性
    4. document.body.scrollTop?=?200;
    5. ?}?else?{?
    6. //如果是NetScape瀏覽器則使用pageYOffset屬性
    7. window.pageYOffset?=?200;
    8. ?}
    9. </script>


    64 在IE中打開全屏窗口
    1. <a?href='#'??onClick=”window.open('http://www.juxta.com/','newWindow','fullScreen=yes');>Open?a?full-screen?window</a>


    65 新窗口和父窗口的操作
    1. <script?language=”JavaScript”>
    2. //定義新窗口
    3. var?newWindow?=?window.open(“128a.html”,”newWindow”);
    4. newWindow.close();?//在父窗口中關閉打開的新窗口
    5. </script>
    6. 在新窗口中關閉父窗口
    7. window.opener.close()


    66 往新窗口中寫內(nèi)容
    1. <script?language=”JavaScript”>
    2. var?
    3. newWindow?=?window.open(“”,”newWindow”);
    4. newWindow.document.open();
    5. newWindow.document.write(“This?is?a?new?window”);
    6. newWIndow.document.close();
    7. </script>


    67 加載頁面到框架頁面
    1. <frameset?cols=”50%,*>
    2. <
    3. frame?name=”frame1”?src=”135a.html”>
    4. <
    5. frame?name=”frame2”?src=”about:blank”>
    6. </
    7. frameset>
    8. 在frame1中加載frame2中的頁面
    9. parent
    10. .frame2.document.location?=?“135b.html”;


    68 在框架頁面之間共享腳本
    如果在frame1中html文件中有個腳本
    1. function?doAlert()?{?
    2. window.alert(“Frame?1?is?loaded”);
    3. ?}

    那么在frame2中可以如此調(diào)用該方法
    1. <body?onLoad=”parent.frame1.doAlert();>
    2. This?is?frame?2.
    3. </body>


    69 數(shù)據(jù)公用
    可以在框架頁面定義數(shù)據(jù)項,使得該數(shù)據(jù)可以被多個框架中的頁面公用
    1. <script?language=”JavaScript”>
    2. var?
    3. persistentVariable?=?“This?is?a?persistent?value”;
    4. </script>
    5. <frameset?cols=”50%,*”>
    6. <frame?name=”frame1”?src=”138a.html”>
    7. <frame?name=”frame2”?src=”138b.html”>
    8. </frameset>


    這樣在frame1和frame2中都可以使用變量persistentVariable
    70 框架代碼庫
    根據(jù)以上的一些思路,我們可以使用一個隱藏的框架頁面來作為整個框架集的代碼庫
    1. <frameset?cols=”0,50%,*>
    2. <
    3. frame?name=”codeFrame”?src=”140code.html”>
    4. <
    5. frame?name=”frame1”?src=”140a.html”>
    6. <
    7. frame?name=”frame2”?src=”140b.html”>
    8. </
    9. frameset>

    posted @ 2006-05-23 13:46 yanzhicun 閱讀(642) | 評論 (1)編輯 收藏
    CALENDER
    <2006年5月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜


    Powered By: 博客園
    模板提供滬江博客

    主站蜘蛛池模板: 免费很黄无遮挡的视频毛片| A片在线免费观看| 久久影院亚洲一区| 久久精品视频免费看| 亚洲熟妇丰满xxxxx| 亚洲阿v天堂在线2017免费| 国产好大好硬好爽免费不卡 | 内射少妇36P亚洲区| 亚洲欧洲精品一区二区三区| 在线免费观看一级毛片| 韩国免费a级作爱片无码| 精品亚洲国产成人| 亚洲自偷自偷图片| 岛国av无码免费无禁网站| 精品无码一级毛片免费视频观看| 亚洲精品日韩专区silk| 亚洲Av无码国产情品久久| 久久WWW免费人成一看片| EEUSS影院WWW在线观看免费| 亚洲视频一区在线| 久久久久国产成人精品亚洲午夜| 久久免费看黄a级毛片 | 四虎影视永久在线精品免费| 亚洲白嫩在线观看| 亚洲人成网站在线观看播放| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 精品丝袜国产自在线拍亚洲| 亚洲不卡AV影片在线播放| 国产精品久久免费| 中文字字幕在线高清免费电影| 亚洲熟妇AV一区二区三区浪潮 | 亚洲Av无码乱码在线观看性色| 日日麻批免费40分钟日本的| 国产又黄又爽胸又大免费视频| 亚洲高清国产拍精品熟女| 亚洲视频一区二区在线观看| 亚洲精品无码高潮喷水在线| 亚洲一本大道无码av天堂| 国产精品免费小视频| 午夜两性色视频免费网站| 一个人看www在线高清免费看|