??xml version="1.0" encoding="utf-8" standalone="yes"?>伊人久久精品亚洲午夜,国产成人久久精品亚洲小说,亚洲国产高清在线一区二区三区 http://www.tkk7.com/yanzhicun/zh-cnMon, 12 May 2025 03:50:53 GMTMon, 12 May 2025 03:50:53 GMT60我的新项目:(x)中国IDC资源DQ志同道合者加?/title><link>http://www.tkk7.com/yanzhicun/archive/2006/10/24/76929.html</link><dc:creator>yanzhicun</dc:creator><author>yanzhicun</author><pubDate>Tue, 24 Oct 2006 03:33:00 GMT</pubDate><guid>http://www.tkk7.com/yanzhicun/archive/2006/10/24/76929.html</guid><wfw:comment>http://www.tkk7.com/yanzhicun/comments/76929.html</wfw:comment><comments>http://www.tkk7.com/yanzhicun/archive/2006/10/24/76929.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/yanzhicun/comments/commentRss/76929.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/yanzhicun/services/trackbacks/76929.html</trackback:ping><description><![CDATA[我个人凭借自q眼光和技术,创作了一个有潜在商业价值的|站Q中国IDC资源DQ当然名U虽然是?br />航,但我的想法是作成国内IDC行业的资源整合,主要内容包括IDCD站、商务站、资讯站、论坛四个版<br />块?br /><br />D站:(x)是收集互联网资源Qؓ(f)客户DQ?br />商务站:(x)是整合国内现有运营商Q让q营商在此徏立自q信息q_。目标是形成国际IDC商务站;<br />资讯站:(x)是国内外有关IDC的新闻资讯、技术信息;<br /><br />我现在是一个h在作Q目前版本是1?只有D站??正在全面开发之中,增加商务站。生成Html,?br />于搜索引擎的收录。目前用技术是asp+sql2000,但准备在4?时有可能全面改版Q用技术Jsp+MySql?br /><br />目前的问题,个h_֊有限Q开发速度慢,思维有限Q希望业界精英提供好的徏议,Ƣ迎懂技术的_英?br />入。现在纯属开发阶D,但可以承诺,如果目有发展,可以分得相应股䆾?br /><br />QQQ?16156915<br />Msn:yan65919@hotmail.com<br />E-mail:yan65919@gmail.com<br /><br />目前可以看到的痕q?www.idcdh.com<br /><img src ="http://www.tkk7.com/yanzhicun/aggbug/76929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/yanzhicun/" target="_blank">yanzhicun</a> 2006-10-24 11:33 <a href="http://www.tkk7.com/yanzhicun/archive/2006/10/24/76929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MS SQL Server2000全文索引image列全ȝhttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57775.htmlyanzhicunyanzhicunWed, 12 Jul 2006 04:00:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57775.htmlhttp://www.tkk7.com/yanzhicun/comments/57775.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57775.html#Feedback0http://www.tkk7.com/yanzhicun/comments/commentRss/57775.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/57775.html  
  1、启?Microsoft Search 服务
  
    开疾说?->SQLE序l?->服务理?->下拉{?->Microsoft Search 服务-->启动?br />  
  2?/b>
   ..\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目录里徏一个非Inoise.chs文g
   非空noise.chs文gQ也有h说是I的noise.chs文gQ但我每ơ都往里写几个没用的字母?br />  
  3、徏立环?/b>
  
    打开查询分析?->执行下列脚本Q?br />  --------------------------------------------
  create database test ---创徏test数据?br />  use test       ---选择test数据?br />  create table dali (ID int not null primary key,MyImage image,FileType varchar(255),FileNmae varchar(255)) ---创徏dali?br />  --dali表中 Id,MyImage,FileType 三列是必ȝQ因对image列烦(ch)引的话,必须要有一个主键列Q一个image?一个存放文件类型的?br />  --我们知道在windowspȝ中文件类型是靠扩展名来区分的所以FileType列也是用来?文g的扩展名
  --------------------------------------------
  
  sp_fulltext_database 'enable' --为全文烦(ch)引启用数据库
  sp_fulltext_catalog 'My_FullDir', 'create' ---创徏一个叫My_FullDif的全文目?br />  
  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 ----q两句是为全文烦(ch)?对表q行标记
  
  sp_fulltext_column 'dali','MyImage','add',0x0804,'FileType' ---q句是指定MyImage列ؓ(f)全文索引?FileType是类型列
  ------------------------------------------------
  4、在c盘下放一个扩展名为doc的word文g,一个扩展名为xls的excel文g,一个扩展名为htm的网|?个扩展名为bmp的图片共4个,大家可根据实际情冉|入!
  
  5、插入数?/b>
  
   建立下面q个存储q程
  --------------------------------------------------
  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
  /* q是使用textcopy工具文件插入到数据库中Q如果有前台工具可以用前台开发工具将文g插入Q这里ؓ(f)了演C?*/
  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') ---其中W二列是 0x 它是一?6q制数对应image?是必ȝ,不要写null,W三列是文gcdQ既扩展?br />  
  sp_textcopy '你的服务器名','sa','你的密码','test','dali','MyImage','c:\大力的doc.doc','where ID=1','I'
  -------依次参数是:(x)实例?用户?密码Q数据库名,表名Qimage列名Q\径及(qing)文g名,条g(你必M证它只选择一?QI
  ---------------------------------------------------------------------------------------------------------------------
  insert dali values(2,0x,'bmp','囄')
  sp_textcopy '你的服务器名','sa','你的密码','test','dali','MyImage','c:\囄.bmp','where ID=2','I' --注意条g?ID=2
  
  insert dali values(3,0x,'xls','Excel文g')
  sp_textcopy '你的服务器名','sa','你的密码','test','dali','MyImage','c:\Excel文g.xls','where ID=3','I' --注意条g?ID=3
  
  insert dali values(4,0x,'htm','|页')
  sp_textcopy '你的服务器名','sa','你的密码','test','dali','MyImage','c:\|页.htm','where ID=4','I' --注意条g?ID=4
  
  ----------上面的语?要保证类型一P路径正确Q条件唯一正确应该可以了
  
  6、填充全文烦(ch)?/b>
  
  sp_fulltext_table 'dali','start_full' ---W一个参数是表名Q第二个参数是启动表的全文烦(ch)引的完全填充
  
  7、可以开始你的实验了
  
  select * from dali where contains(MyImage,'J老师')
  
  select * from dali where contains(MyImage,'(g)师')
  
  ------END----------
  --调试环境QSQLServer2K、Windows2Kas


yanzhicun 2006-07-12 12:00 发表评论
]]>
动网论坛全文索引建立帮助http://www.tkk7.com/yanzhicun/archive/2006/07/12/57772.htmlyanzhicunyanzhicunWed, 12 Jul 2006 03:44:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57772.htmlhttp://www.tkk7.com/yanzhicun/comments/57772.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57772.html#Feedback0http://www.tkk7.com/yanzhicun/comments/commentRss/57772.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/57772.html 在SQL 企业理器上操作步骤Q?/b>

一Q进入企业管理器Q打开支持服务Q选取全文(g)索,点击启动?/font>

 

二:(x)对相关的数据表徏立全文烦(ch)引?/font>

三:(x)全文索引建立向导

 

 

 

然后定提交后,建立向导基本完成?/p>

到这里在SQL上徏立全文烦(ch)引已l完成!

四:(x)补充Q由于全文填充是按照调度里设定周期进行的Q所以不?x)马上生效,如果需要的话可以点d目录Q运行填充。通常数据量大的话不徏议在讉K量大的时候进行?/font>

 

解决在全文搜索中搜烦(ch)中文字符出错补丁Q?a >点击下蝲

解决中文字符出错问题Q?br />
Ҏ(gu)一Q?br />把下载解压的文g复制?..\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\
目录下(该\径ؓ(f)全文目录路径Q可以全文目录属性中查看Q?br />
Ҏ(gu)二:(x)
~辑...\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目录下的
noise.chs文g,清空文档Q输入‘@?其他的偏?ni)号也可以Q?br />

最后,重新q行全文完全填充Q?/p>

yanzhicun 2006-07-12 11:44 发表评论
]]>
SQL Server 2000中全文检索的使用http://www.tkk7.com/yanzhicun/archive/2006/07/12/57771.htmlyanzhicunyanzhicunWed, 12 Jul 2006 03:42:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57771.htmlhttp://www.tkk7.com/yanzhicun/comments/57771.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/07/12/57771.html#Feedback0http://www.tkk7.com/yanzhicun/comments/commentRss/57771.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/57771.html引言

微Y的SQL Server数据库是一个在中低端企业应用中占有q泛市场的关pd数据库系l,它以单、方ѝ易用等Ҏ(gu)深得众多Y件开发h员和数据库管理h员的钟爱。但SQL Server 7.0以前的数据库pȝ׃没有全文(g)索功能,致无法提供像文本内Ҏ(gu)找此cȝ服务Q成Z个小的遗憾。从SQL Server 7.0P到如今的SQL Server 2000l于具备了全文检索功能,使用户可以高效地(g)索存储在数据库char、varchar、text、ntext、nchar、nvarchar{数据类型列中的文本数据?

建立全文索引

在进行全文检索之前,必须先徏立和填充数据库全文烦(ch)引。ؓ(f)了支持全文烦(ch)引操作,SQL Server 7.0新增了一些存储过E和Transact-SQL语句。用这些存储过E创建全文烦(ch)引的具体步骤如下Q括号内用的存储q程名称Q:(x)

1. 启动数据库的全文处理功能(sp_fulltext_

database);Q?

2. 建立全文(g)索目?sp_fulltext_catalog);

3.在全文检索目录中注册需要全文烦(ch)引的?sp_fulltext_table);

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

column);Q?

5. 创徏全文索引(sp_fulltext_table);Q?

6. 填充全文(g)索目?sp_fulltext_catalog)?

下面举例说明如何创徏全文索引Q在本例中,对Test数据库Book表中Title列和Notes列徏立全文烦(ch)引?

use test //打开数据?

//打开全文索引支持Q启动SQL Server的全文搜索服?

execute sp_fulltext_database ‘enable?

//建立全文(g)索目录ft_test

execute sp_fulltext_catalog ‘ft_test? ‘create?

为Title列徏立全文烦(ch)引数据元Qpk_title为Book表中׃键所建立的唯一索引Q这个参数是必需的?

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

//讄全文索引列名

execute sp_fulltext_column ‘book? ‘title? ‘add?

execute sp_fulltext_column ‘book’,‘notes? ‘add?

//建立全文索引

execute sp_fulltext_table ‘book? ‘activate?

//填充全文索引目录

execute sp_fulltext_catalog ‘ft_test? ‘start_full?

xQ全文烦(ch)引徏立完毕?

q行全文(g)?

SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表的所有列或指定列中搜索:(x)一个字或短语;一个字或短语的前缀Q与一个字相近的另一个字Q一个字的派生字Q一个重复出现的字?

CONTAINS语句的语法格式ؓ(f)Q?

CONTAINS({column | *}), <contains_search

_condition>)

其中Qcolumn是搜索列Q用?”时说明对表中所有全文烦(ch)引列q行搜烦(ch)。Contains_search_

condition 说明CONTAINS语句的搜索内容,其语法格式ؓ(f)Q?

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

下面simple_term和prefix_term参数做简要说明:(x)

simple_term是CONTAINS语句所搜烦(ch)的单字或短语Q当搜烦(ch)的是一个短语时Q必M用双引号作ؓ(f)定界W。其格式为:(x)

{‘word’|?phrase”}

prefix_term说明CONTAINS语句所搜烦(ch)的字或短语前~Q其格式为:(x)

{“word*?| “phrase*”}

例如Q下面语句检索Book表的Title列和Notes列中包含“database”或“computer”字W串的图书名U及(qing)其注释信息:(x)

select title, notes

from book

where contains(tilte, ‘database? or contains(notesQ‘database?

or contains(titleQ‘computer? or contains(notesQ‘computer?

FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个自由文本格式的字符Ԍq返回与该字W串匚w的数据行。所以,FREETEXT语句所执行的功能又U做自由式全文查询?

FREETEXT语句的语法格式ؓ(f)QFREETEXT({column | * }Q‘freetext_string?

其中Qcolumn是被搜烦(ch)列,使用?”时说明对表中的所有全文烦(ch)引列q行搜烦(ch)。Freetext_string参数指出所搜烦(ch)的自由文本格式字W串?

例如Q下面语句用FREETEXT语句搜烦(ch)Book表中包含“Successful Life”字W串的数据行Q?

select title, notes

from book

where freetext(*Q‘Successful Life?



yanzhicun 2006-07-12 11:42 发表评论
]]>
使用SQL SERVER 2000的全文检索功?/title><link>http://www.tkk7.com/yanzhicun/archive/2006/07/12/57770.html</link><dc:creator>yanzhicun</dc:creator><author>yanzhicun</author><pubDate>Wed, 12 Jul 2006 03:39:00 GMT</pubDate><guid>http://www.tkk7.com/yanzhicun/archive/2006/07/12/57770.html</guid><wfw:comment>http://www.tkk7.com/yanzhicun/comments/57770.html</wfw:comment><comments>http://www.tkk7.com/yanzhicun/archive/2006/07/12/57770.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/yanzhicun/comments/commentRss/57770.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/yanzhicun/services/trackbacks/57770.html</trackback:ping><description><![CDATA[ <div id="apmfpks" class="postText">使用SQL SERVER 2000的全文检索功q?br /><br />  <br />步骤Q?br /><br />1、  打开NorthWind数据库,右键Products表,选择“全文烦(ch)引表”,“在表上定义全文索引”,为其创徏全文目录。在“全文烦(ch)引向导”中Q选择你需要全文查询条件的列(可以是文本或囑փQ,我们选择Productname和QuantityPerUnit列。然后下一步,输入一个新的目录proCatalogQ点M一步。在填充调度一wQ我们暂时不建立填充调度。接着“下一步”,全成全文索引向导。完成后Q我们可以看到在“全文目录”里Q多了一个全文目录proCatalog。右键proCatalog属性,可以看到其状态、表、调度情c(din)?br />2、  右键全文目录proCatalogQ “启动完全填充”,pȝ?x)出现“全文目录填充成功启动”?br />3、  这Ӟ我们可以使用Transact-SQLq行全文(g)索了Q我们用CONTAINS、FREETEXT{谓词。如Q?br /><br /><br />(g)索ProductName中,卛_含b又包含c的所有列<br /><br />SELECT *<br /><br />FROM Products<br /><br />WHERE CONTAINS(ProductName, '"c*" and "b*" ')<br /><br /> <br /><br />(g)索ProductName中,卛_含chai chang tofu之一的所有列<br /><br />SELECT *<br /><br />FROM Products<br /><br />WHERE FREETEXT(ProductName, 'chai chang tofu ')<br /><br /> <br /><br />我们q可以用CONTAINSTABLE、FREETEXTTABLE{?br /><br /> <br /><br />4、  我们可以用.NET创徏WEB或Form客户端,提供一个良好的全文(g)索界面,使自q应用E序得到扩展<br /><br /> <br /><br /> <br /><br /> <br /><br />参考:(x)<br />全文查询有关的系l存储过E?br /><br />Q?Q启动数据库的全文处理功能(sp_fulltext_datebaseQ; <br />Q?Q徏立全文目录(sp_fulltext_catalogQ; <br />Q?Q在全文目录中注册需要全文烦(ch)引的表(sp_fulltext_tableQ; <br />Q?Q指中需要全文检索的列名Qsp_fulltext_columnQ?br />Q?Qؓ(f)表创建全文烦(ch)引(sp_fulltext_tableQ; <br />Q?Q填充全文烦(ch)引(sp_fulltext_catalogQ?br /><br /> <br /><br /> <br /><br /> <br /><br />全文查询支持<br /><br />Microsoft&reg; SQL Server&#8482; 2000 在接收带全文构造的 Transact-SQL 语句Ӟ使用全文提供E序从 Microsoft 搜烦(ch)服务(g)索所需信息。全文构造是 CONTAINS 或 FREETEXT 谓词Q或者是 CONTAINSTABLE 或 FREETEXTTABLE 行集函数。如果不知道包含搜烦(ch)条g的列Q全文构造可以在全文索引中引用多列。该q程的流E如下图所C?br /><br /> <br /><br /><br />q一q程涉及(qing)的步骤包括:(x) <br /><br />应用E序l SQL Server 实例发送带全文构造的 Transact-SQL 语句?br /><br />SQL Server 关系引擎通过查询pȝ表验证全文构造,定全文索引是否覆盖列引用。关pd擎将每个 SQL 语句化ؓ(f)一pd行集操作Qƈ使用 OLE DB 这些操作传递给基础lgQ通常是存储引擎。关pd擎通过全文提供E序而不是存储引擎,Q何全文构造{换成对行集的h。请求的行集是满x索条件和{的键集,而这个等U表C每个键的数据满x索条件的E度。向全文提供E序发送的行集h命o(h)包括全文(g)索条件?br /><br />全文提供E序验证hq将搜烦(ch)条g更改为由Microsoft 搜烦(ch)服务的查询支持组件用的形式。将h发送到搜烦(ch)服务?br /><br />查询支持lg使用搜烦(ch)引擎lg从全文烦(ch)引析取所h的数据。然后以行集的Ş式将q些数据传递回全文提供E序?br /><br />全文提供E序这个行集返回给关系引擎?br /><br />关系引擎它从存储引擎和全文提供E序收到的所有行集进行组合,以生成发送回客户端的最l结果集。?br /><br /> <br /><br />全文目录和烦(ch)?br /><br />Microsoft&reg; SQL Server&#8482; 2000 全文索引为在字符串数据中q行复杂的词搜烦(ch)提供有效支持。全文烦(ch)引存储关于重要词和这些词在特定列中的位置的信息。全文查询利用这些信息,可快速搜索包含具体某个词或一l词的行?br /><br />全文索引包含在全文目录中。每个数据库可以包含一个或多个全文目录。一个目录不能属于多个数据库Q而每个目录可以包含一个或多个表的全文索引。一个表只能有一个全文烦(ch)引,因此每个有全文烦(ch)引的表只属于一个全文目录?br /><br />全文目录和烦(ch)引不存储在它们所属的数据库中。目录和索引由 Microsoft 搜烦(ch)服务分开理?br /><br />全文索引必须在基表上定义Q而不能在视图、系l表或(f)时表上定义。 全文烦(ch)引的定义包括Q?br /><br />能唯一标识表中各行的列Q主键或候选键Q,而且不允许 NULL 倹{?br /><br />索引所覆盖的一个或多个字符串列。?br /><br />全文索引由键值填充。每个键的项提供与该键相兌的重要词Q干扰词或终止词除外Q、它们所在的列和它们在列中的位置{有关信息?br /><br />格式化文本字W串Q如 Microsoft&reg; Word&#8482; 文档文g或 HTML 文gQ不能存储在字符串或 Unicode 列中Q因些文件中的许多字节包含不构成有效字符的数据结构。数据库应用E序可能仍需要访问这些数据ƈ对其应用全文(g)索。因为 image 列ƈ不要求每一字节都构成一个有效字W,所以许多站点将q类数据存储在 image 列中。SQL Server 2000 引入了对存储在 image 列中的这些类型的数据执行全文(g)索的能力。SQL Server 2000 提供{选,可从 Microsoft Office&#8482; 文gQ?doc?xls 和?ppt 文gQ、文本文Ӟ.txt 文gQ及(qing) HTML 文gQ?htm 文gQ中析取文本化数据。设计表旉包括保存数据的 image 列外Q还需包括l定列来保存存储在 image 列中的数据格式的文g扩展名。可以创建引用 image 列和l定列的全文索引Q以便在存储于 image 列中的文本化信息上启用全文检索。SQL Server 2000 全文(g)索引擎用绑定列中的文g扩展名信息,选择从列中析取文本化数据的合适的{选?br /><br />全文索引是用于执行两个 Transact-SQL 谓词的组Ӟ以便Ҏ(gu)全文(g)索条件对行进行测试:(x) <br /><br />CONTAINS<br /><br />FREETEXT <br /><br />Transact-SQL q包含两个返回符合全文检索条件的行集的函敎ͼ(x) <br /><br />CONTAINSTABLE<br /><br />FREETEXTTABLE <br /><br />SQL Server 在内部将搜烦(ch)条g发送给 Microsoft 搜烦(ch)服务。Microsoft 搜烦(ch)服务查找所有符合全文检索条件的键ƈ它们返回给 SQL Server。SQL Server 随后使用键的列表来确定表中要处理的行?br /><br />全文索引<br /><br />对 Microsoft&reg; SQL Server&#8482; 2000 数据的全文支持涉?qing)两个功能?x)对字W数据发出查询的能力和创建及(qing)l护基础索引以简化这些查询的能力?br /><br />全文索引在许多地方与普通的 SQL 索引不同?br /><br />普通 SQL 索引<br /> 全文索引<br /> <br />存储时受定义它们所在的数据库的控制?br /> 存储在文件系l中Q但通过数据库管理?br /> <br />每个表允许有若干个普通烦(ch)引?br /> 每个表只允许有一个全文烦(ch)引?br /> <br />当对作ؓ(f)其基的数据进行插入、更新或删除Ӟ它们自动更新?br /> 数据添加到全文索引UCؓ(f)填充Q全文烦(ch)引可通过调度或特定请求来hQ也可以在添加新数据时自动发生?br /> <br />不分l?br /> 在同一个数据库内分lؓ(f)一个或多个全文目录?br /> <br />使用 SQL Server 企业理器、向导或 Transact-SQL 语句创徏和除厅R?br /> 使用 SQL Server 企业理器、向导或存储q程创徏、管理和除去?br /> <br /><br /><br /> <br /><br />q些差异使大量管理Q务变得不可缺。全文管理是在几个层ơ上实施的:(x) <br /><br />服务器?br /><br />可以Ҏ(gu)务器范围的某些属性(如 resource_usageQ加以设|,以便增加或减全文服务所使用的系l资源数量?br /><br /><br />说明  全文引擎作ؓ(f)名ؓ(f) Microsoft 搜烦(ch)的服务在 Microsoft Windows NT&reg; Server 和 Microsoft Windows&reg; 2000 Server 上运行。对于 Microsoft SQL Server 个h版,Microsoft 搜烦(ch)服务不可用。尽这意味着 Microsoft 搜烦(ch)服务既未安装在 Microsoft Windows 95/98 上,也未安装在 Windows NT 工作站或 Windows 2000 Professional 客户端上Q但q些客户端在q接刊WSQL Server 标准版安装或企业版实例时可以使用q项服务?br /><br />数据库?br /><br />必须启用数据库才能用全文服务。可以在已启用的数据库中创徏和除M个或多个全文目录的元数据?br /><br />全文目录 <br /><br />全文目录包含数据库中的全文烦(ch)引。每个目录可以用于数据库内的一个或多个表的索引需求。该目录中的索引是用这里介l的理功能来填充的。(全文目录必须ȝ在与 SQL Server 实例相关联的本地盘驱动器上。不支持可移动的驱动器、Y盘和|络驱动器)(j)。在每个服务器上最多可创徏 256 个全文目录?br /><br /><br />说明  Windows NT 故障转移集环境完全支持全文索引。有x多信息,请参见在故障转移集中运行全文查询?br /><br />表?br /><br />首先Q必Mؓ(f)全文支持启用表。然后,Z该表相关联的全文索引创徏元数据(如表名及(qing)其全文目录)(j)。表启用后,可以用ؓ(f)全文支持而启用的列中的数据填充它。如果表的全文定义被更改Q例如,d一个也ؓ(f)全文(g)索而烦(ch)引的新列Q,则必重新填充相关的全文目录以全文索引与新的全文定义同步?br /><br />列?br /><br />可以从非zd的注册表中添加或除去支持全文查询的列?br /><br />在所有这些别上Q可使用工具(g)索元数据和状态信息?br /><br />和常规 SQL 索引一P当在相关表中修改数据Ӟ可自动更新全文烦(ch)引。或者,也可以适当的间隔手工重新填充全文烦(ch)引。这U重写可能既耗时又大量占用资源,因此Q在数据库活动较?yu)时Q这通常是在后台q行的异步进E?br /><br />应将h相同更新Ҏ(gu)的表(如更改少的与更改多的Q或在一天的特定时段内频J更改的表)(j)l合在一Pq分配给相同的全文目录。通过以此Ҏ(gu)讄全文目录填充调度Q得全文烦(ch)引和表保持同步,且在数据库活动较多时不对数据库服务器的资源用生负面媄(jing)响?br /><br />为全文目录中的表安排全文索引的位|是非常重要的。在为全文目录指定表Ӟ应该注意下列基本原则Q?br /><br />始终选择可用于全文唯一键的最唯一索引。(4 个字节且Z整数的烦(ch)引是最佳的。)(j)q将显著减少文gpȝ中 Microsoft 搜烦(ch)服务所需要的资源。如果主键很大(过 100 字节Q,可以考虑选择表中其它唯一索引Q或创徏另一个唯一索引Q作为全文唯一键。否则,如果全文唯一键的大小辑ֈ允许的上限(450 字节Q,全文填充无法l进行?br /><br />如果q行索引的表有成千上万行Q请该表指定给其自q全文目录?br /><br />应该考虑对其q行全文索引的表中发生的更改C?qing)表的行数。如果要更改的总行敎ͼ加上上次全文填充期间表中出现的行数达到成千上万行Q请该表指定给其自q全文目录。?br /><br />请参?br /><br />sp_fulltext_table<br /><br />CONTAINS<br /><br />一个谓词,用于搜烦(ch)包含Z字符的数据类型的列,该列与单个词和短语,以及(qing)与另一个词一定范围之内的q似词精或模糊Q不太精的Q匹配或者加权匹配。CONTAINS 可以搜烦(ch)Q?br /><br />词或短语?br /><br />词或短语的前~?br /><br />另一个词附近的词?br /><br />由另一个词的词֏化生成的词(例如Q词 drive 是 drives、drove、driving 和 driven 词尾变化的词qԌ(j)?br /><br />比另一个词h更高加权的词。?br /><br />语法<br />CONTAINS<br />    ( { column | * } , '< contains_search_condition >'     <img onclick="window.open('/images/wink.gif','_blank');" alt="" hspace="2" src="http://www.blogcn.com/images/wink.gif" onload="javascript:if(this.width>screen.width/2)this.width=screen.width/2" vspace="2" border="0" /> <br /><br /> <br /><br />FREETEXT<br /><br />是个谓词Q用于搜索含有基于字W的数据cd的列Q其中的值符合在搜烦(ch)条g中所指定文本的含义,但不W合表达方式。用 FREETEXT Ӟ全文查询引擎内部 freetext_string 拆分q个搜烦(ch)词,q赋予每个词以不同的加权Q然后查扑֌配?br /><br />语法<br /><br />FREETEXT ( { column | * } , 'freetext_string' <img onclick="window.open('/images/wink.gif','_blank');" alt="" hspace="2" src="http://www.blogcn.com/images/wink.gif" onload="javascript:if(this.width>screen.width/2)this.width=screen.width/2" vspace="2" border="0" /><br /><br /> <br /><br />CONTAINSTABLE 和 FREETEXTTABLE 函数用来指定q回每行的相Ҏ(gu)名的全文查询。这两个函数与全文谓词 CONTAINS 和 FREETEXT 很相|但是用法不同?br /><br />(此文部分资料来自MSDN) </div> <img src ="http://www.tkk7.com/yanzhicun/aggbug/57770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/yanzhicun/" target="_blank">yanzhicun</a> 2006-07-12 11:39 <a href="http://www.tkk7.com/yanzhicun/archive/2006/07/12/57770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP .Script http://www.tkk7.com/yanzhicun/archive/2006/06/06/50744.htmlyanzhicunyanzhicunTue, 06 Jun 2006 05:03:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/06/06/50744.htmlhttp://www.tkk7.com/yanzhicun/comments/50744.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/06/06/50744.html#Feedback0http://www.tkk7.com/yanzhicun/comments/commentRss/50744.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/50744.html JavaScript实际应用QinnerHTMl和确认提C的使用
  今天开发中涉及(qing)到对一个层的信息控Ӟ是控制一个层中显CZ么信息,查找资料才知道用innerHTML属性来控制层的|q个innerHTML跟表单里面的value属性有点类|能够控制层的昄倹{?br />
  比如说我一个div层里本来没有|我处|一个事件后要显C|那么p够用innerHTML属性了Q其实innerHTML属性除了能控制层以外,q能控制H口内容的所有元素,但是我没有测试过?br />
Q?Q对div标签的控?/strong>

div标签跟span标签是不一L(fng)Qdiv是一个层的块Qspan是一行,我们下面看演C就知道区别了。先来看一D|制div的代码?br />
E序代码 E序代码
<script language="javascript">
function chageDiv(number)
{
if (number == 1) {
document.getElementById("div1").innerHTML = "gؓ(f)1";
}
if (number == 2) {
document.getElementById("div1").innerHTML = "gؓ(f)2";
}
}
</script>

DIV块测试:(x)<div id="div1">默认?lt;/div>

<a href="#" onClick="chageDiv(1)">改变gؓ(f)1</a>
<a href="#" onClick="chageDiv(2)">改变gؓ(f)2</a>


演示Q?br />
HTML代码

E序代码 E序代码
<script language="javascript">
function chageSpan(number)
{
if (number == 1) {
document.getElementById("span1").innerHTML = "gؓ(f)1";
}
if (number == 2) {
document.getElementById("span1").innerHTML = "gؓ(f)2";
}
}
</script>
Span行测试:(x)
<span id="span1">默认?lt;/span><br>
<a href="#" onClick="chageSpan(1)">改变gؓ(f)1</a>
<a href="#" onClick="chageSpan(2)">改变gؓ(f)2</a>


当点几Z改变gؓ(f)1”的时候,“默认值”将变ؓ(f)“gؓ(f)1”,但是“Span行测试”和“默认值”是在同一行显C的Q跟DIV不一栗?br />
另外一个值得注意的就是,不管是divq是spanQ后面的名字都是以ؓ(f)id来定义的Q不是象表单一h使用name来定义的?br />
Q?Qconfirm认提示框的制作

当我们要执行一个危险操作的时候,比如删除某个内容{,那么应该给用户相应的提C来用户不容易犯错误。一般提C都是用confirm()函数来处理的Q给它提交一个参C为显C的信息提示Q那么访问的时候将弹出对话框,如果点击了“确定”那么将改函数返回trueQ点M“取消”将攑֛falseQ我们针对这个特Ҏ(gu)使用两种Ҏ(gu)来控制用h否执行某个操作?br />
看代码:(x)

E序代码 E序代码
<script language="javascript">
function accessNeteasy()
{
if(confirm('你真的要讉K|易新闻 ?')) {
location='
http://calendar.eyou.eyou';
}
}
function accessSina()
{
if (confirm('你确定要讉K新浪新闻 ?')) {
return true;
} else {
return false;
}
}
</script>

讉K方式一Q?br /><a href="#" onClick="accessNeteasy()">|易新闻</a><br>
讉K方式二:(x)
<a href="http://news.sina.com.cn" onClick="return accessSina()">新浪新闻</a>


  我们q里建立了两个函敎ͼ一个accessNeteayQ一个accessSinaQ就是访问网易和新浪Q我们用不同的Ҏ(gu)Q第一U就是当点了链接以后Q判断如果是true的话Q那么就location到指定链接,q种Ҏ(gu)比较不具有通用型,只能针对单个的链接。第二种Ҏ(gu)是用返回值的形式Q当定要访问的时候返回trueQ不定的时候返回falseQ那么这个可以针对Q何链接来做,写成一个通用的信息提C,方便面中的调用?br />
以上代码都经q测试通过Q可以自己再q个基础上进行扩展,写出自己需要的JavaScript代码?br />更多技巧徏议参?a target="_blank">蓝色理想的链接:(x)http://www.blueidea.com/tech/web/2004/2379.asp



yanzhicun 2006-06-06 13:03 发表评论
]]>mysql的日期和旉函数http://www.tkk7.com/yanzhicun/archive/2006/06/01/49514.htmlyanzhicunyanzhicunThu, 01 Jun 2006 03:55:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/06/01/49514.htmlhttp://www.tkk7.com/yanzhicun/comments/49514.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/06/01/49514.html#Feedback1http://www.tkk7.com/yanzhicun/comments/commentRss/49514.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/49514.html
mysql的日期和旉函数

q里是一个用日期函数的例子。下面的查询选择所?date_col 值在最?30 天内的记录?

mysql> SELECT something FROM tbl_name
           WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
q回 date 的星期烦(ch)?1 = Sunday, 2 = Monday, ... 7 = Saturday)。烦(ch)引值符?ODBC 的标准?
mysql> SELECT DAYOFWEEK('1998-02-03');
        -> 3
WEEKDAY(date)
q回 date 的星期烦(ch)?0 = Monday, 1 = Tuesday, ... 6 = Sunday)Q?
mysql> SELECT WEEKDAY('1998-02-03 22:23:00');
        -> 1
mysql> SELECT WEEKDAY('1997-11-05');
        -> 2
DAYOFMONTH(date)
q回 date 是一月中的第几天Q范围ؓ(f) 1 ?31Q?
mysql> SELECT DAYOFMONTH('1998-02-03');
        -> 3
DAYOFYEAR(date)
q回 date 是一q中的第几天Q范围ؓ(f) 1 ?366Q?
mysql> SELECT DAYOFYEAR('1998-02-03');
        -> 34
MONTH(date)
q回 date 中的月䆾Q范围ؓ(f) 1 ?12Q?
mysql> SELECT MONTH('1998-02-03');
        -> 2
DAYNAME(date)
q回 date 的星期名Q?
mysql> SELECT DAYNAME("1998-02-05");
        -> 'Thursday'
MONTHNAME(date)
q回 date 的月份名Q?
mysql> SELECT MONTHNAME("1998-02-05");
        -> 'February'
QUARTER(date)
q回 date 在一q中的季度,范围?1 ?4Q?
mysql> SELECT QUARTER('98-04-01');
        -> 2
WEEK(date)
WEEK(date,first)
对于星期日是一周中的第一天的场合Q如果函数只有一个参数调用,q回 date Zq的W几周,q回D围ؓ(f) 0 ?53 (是的Q可能有W?53 周的开?。两个参数Ş式的 WEEK() 允许你指定一周是否以星期日或星期一开始,以及(qing)q回gؓ(f) 0-53 q是 1-52?q里的一个表昄W二个参数是如何工作的:(x)
?含义
0 一周以星期日开始,q回D围ؓ(f) 0-53
1 一周以星期一开始,q回D围ؓ(f) 0-53
2 一周以星期日开始,q回D围ؓ(f) 1-53
3 一周以星期一开始,q回D围ؓ(f) 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
注意Q在版本 4.0 中,WEEK(#,0) 被更改ؓ(f)匚w USA 历法?注意Q如果一周是上一q的最后一周,当你没有使用 2 ?3 做ؓ(f)可选参数时QMySQL 返?0Q?
mysql> SELECT YEAR('2000-01-01'), WEEK('2000-01-01',0);
        -> 2000, 0
mysql> SELECT WEEK('2000-01-01',2);
        -> 52
你可能会(x)争辩_(d)当给定的日期值实际上?1999 q的W?52 周的一部分ӞMySQL ?WEEK() 函数应该q回 52。我们决定返?0 Q是因ؓ(f)我们希望该函数返回“在指定q䆾中是W几周”。当与其它的提取日期g的月日值的函数l合使用Ӟq?WEEK() 函数的用法可靠?如果你更希望能得到恰当的q?周|那么你应该用参?2 ?3 做ؓ(f)可选参敎ͼ或者用函?YEARWEEK() Q?
mysql> SELECT YEARWEEK('2000-01-01');
        -> 199952
mysql> SELECT MID(YEARWEEK('2000-01-01'),5,2);
        -> 52
YEAR(date)
q回 date 的年份,范围?1000 ?9999Q?
mysql> SELECT YEAR('98-02-03');
        -> 1998
YEARWEEK(date)
YEARWEEK(date,first)
q回一个日期值是的哪一q的哪一周。第二个参数的Ş式与作用完全?WEEK() 的第二个参数一致。注意,对于l定的日期参数是一q的W一周或最后一周的Q返回的q䆾值可能与日期参数l出的年份不一_(d)(x)
mysql> SELECT YEARWEEK('1987-01-01');
        -> 198653
注意Q对于可选参?0 ?1Q周值的q回g同于 WEEK() 函数所q回?0)Q?WEEK() Ҏ(gu)l定的年语境q回周倹{?
HOUR(time)
q回 time 的小时|范围?0 ?23Q?
mysql> SELECT HOUR('10:05:03');
        -> 10
MINUTE(time)
q回 time 的分钟|范围?0 ?59Q?
mysql> SELECT MINUTE('98-02-03 10:05:03');
        -> 5
SECOND(time)
q回 time 的秒|范围?0 ?59Q?
mysql> SELECT SECOND('10:05:03');
        -> 3
PERIOD_ADD(P,N)
增加 N 个月到时?P(格式?YYMM ?YYYYMM)中。以 YYYYMM 格式q回倹{?注意Q期间参?P不是 一个日期|(x)
mysql> SELECT PERIOD_ADD(9801,2);
        -> 199803
PERIOD_DIFF(P1,P2)
q回时期 P1 ?P2 之间的月数?code>P1 ?P2 应该?YYMM ?YYYYMM 指定?注意Q时期参?P1 ?P2不是 日期|(x)
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)
q些函数执行日期的算术运?code>ADDDATE() ?SUBDATE() 分别?DATE_ADD() ?DATE_SUB() 的同义词??MySQL 3.23 中,如果表达式的双是一个日期值或一个日期时间型字段Q你可以使用 + ?- 代替 DATE_ADD() ?DATE_SUB()(CZ如下)?参数 date 是一?DATETIME ?DATE |指定一个日期的开始?code>expr 是一个表辑ּQ指定从开始日期上增加q是减去间隔倹{?code>expr 是一个字W串Q它可以以一???/font> 领头表示一个负的间隔倹{?code>type 是一个关键词Q它标志着表达式以何格式被解释?下表昄 type ?expr 参数是如何关联的Q?
type?/strong>expr期望的格?/strong>
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 的格式中QMySQL 允许M字符作ؓ(f)定界W。表中所昄的是的定界字W。如?date 参数是一?DATE |q且计算的间隔仅仅有 YEAR?code>MONTH ?DAY 部分(没有旉部分)Q那么返回g是一?DATE 倹{否则返回值是一?DATETIME |(x)
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 关键词所期望的所有间隔部?QMySQL 假设你遗漏了间隔值的最左边部分。例如,如果指定一?type ?DAY_SECONDQ那?expr D期望包含天、小时、分钟和U部分。如果你?"1:10" h定一个|MySQL 假设天和时部分被遗漏了Q指定的g表分钟和U。换句话_(d)"1:10" DAY_SECOND 被解释ؓ(f){h(hun)?"1:10" MINUTE_SECOND。这cM?MySQL 解释 TIME gؓ(f)l过的时间而不是一天的时刻?注意Q如果依着包含一个时间部分的间隔增加或减一个日期|该日期值将被自动地转换C个日期时间|(x)
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
如果你用了定不正的日期Q返回结果将?NULL。如果你增加 MONTH?code>YEAR_MONTH ?YEARQƈ且结果日期的天比新月份的最大天数还大,那么它将被调整到新月份的最大天敎ͼ(x)
mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
        -> 1998-02-28
注意Q上面的例子中,单词 INTERVAL 和关键词 type 是不区分字母大小写的?

EXTRACT(type FROM date)
EXTRACT() 函数使用?DATE_ADD() ?DATE_SUB() 一致的间隔cdQ但是它用于指定从日期中提取的部分,而不是进行日期算术运?
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)
l出一个日?dateQ返回一个天??0 q开始的天数)Q?
mysql> SELECT TO_DAYS(950501);
        -> 728779
mysql> SELECT TO_DAYS('1997-10-07');
        -> 729669
TO_DAYS() 无意于用先于格里高里历?即现行的阛_)(1582)出现的|因ؓ(f)它不考虑当历法改变时所遗失的天数?

FROM_DAYS(N)
l出一个天?NQ返回一?DATE |(x)
mysql> SELECT FROM_DAYS(729669);
        -> '1997-10-07'
FROM_DAYS() 无意于用先于格里高里历?1582)出现的|因ؓ(f)它不考虑当历法改变时所遗失的天数?

DATE_FORMAT(date,format)
依照 format 字符串格式化 date 倹{下面的修饰W可被用?format 字符串中Q?
修饰W?含义
%M月的名字 (January..December)
%W星期的名?(Sunday..Saturday)
%D有英文后~的某月的W几?(0th, 1st, 2nd, 3rd, etc.)
%Yq䆾Q数字的Q? ?
%yq䆾Q数字的Q? ?
%X周值的q䆾Q星期日是一个星期的W一天,数字的,4 位,?'%V' 一同?
%x周值的q䆾Q星期一是一个星期的W一天,数字的,4 位,?'%v' 一同?
%a~写的星期名 (Sun..Sat)
%d月䆾中的天数Q数字的 (00..31)
%e月䆾中的天数Q数字的 (0..31)
%m月,数字?(00..12)
%c月,数字?(0..12)
%b~写的月份名 (Jan..Dec)
%j一q中的天?(001..366)
%H时 (00..23)
%k时 (0..23)
%h时 (01..12)
%I时 (01..12)
%l时 (1..12)
%i分钟Q数字的 (00..59)
%r旉Q?2 时 (hh:mm:ss [AP]M)
%T旉Q?4 时 (hh:mm:ss)
%SU?(00..59)
%sU?(00..59)
%pAM ?PM
%w一周中的天?(0=Sunday..6=Saturday)
%U星期 (00..53)Q星期日是一个星期的W一?
%u星期 (00..53)Q星期一是一个星期的W一?
%V星期 (01..53)Q星期日是一个星期的W一天。与 '%X' 一起?
%v星期 (01..53)Q星期一是一个星期的W一天。与 '%x' 一起?
%%一个字???/font>
所有其它的字符不经q解释,直接复制到结果中Q?
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 中,在格式修饰符前需要字W?`%'。在更早?MySQL 版本中,`%' 是可选的?月䆾与天修饰W的范围从零开始的原因是,?MySQL 3.23 中,它允许存储不完善的日期?例如 '2004-00-00')?

TIME_FORMAT(time,format)
它的使用Ҏ(gu)与上面的 DATE_FORMAT() 函数怼Q但?format 字符串只包含处理时、分和秒的那些格式修饰符。用其它的修饰W会(x)产生一?NULL 值或 0?

CURDATE()
CURRENT_DATE
?'YYYY-MM-DD' ?YYYYMMDD 格式q回当前的日期|q回的格式取决于该函数是用于字符串还是数字语境中Q?
mysql> SELECT CURDATE();
        -> '1997-12-15'
mysql> SELECT CURDATE() + 0;
        -> 19971215
CURTIME()
CURRENT_TIME
?'HH:MM:SS' ?HHMMSS 格式q回当前的时间|q回的格式取决于该函数是用于字符串还是数字语境中Q?
mysql> SELECT CURTIME();
        -> '23:50:26'
mysql> SELECT CURTIME() + 0;
        -> 235026
NOW()
SYSDATE()
CURRENT_TIMESTAMP
?'YYYY-MM-DD HH:MM:SS' ?YYYYMMDDHHMMSS 格式q回当前的日期时间|q回的格式取决于该函数是用于字符串还是数字语境中Q?
mysql> SELECT NOW();
        -> '1997-12-15 23:50:26'
mysql> SELECT NOW() + 0;
        -> 19971215235026
注意Q函?NOW() 在每个查询中只计一ơ,也就是在查询开始执行时。这是_(d)如果在一个单独的查询中多ơ引用了 NOW()Q它只会(x)l出值都是一个相同的旉?

UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
如果调用时没有参敎ͼ以无W号的整数Ş式返回一?Unix 旉??'1970-01-01 00:00:00' GMT 开始的U数)。如果以一个参?date 调用 UNIX_TIMESTAMP()Q它?yu)返回该参数g '1970-01-01 00:00:00' GMT 开始经q的U数倹{?code>date 可以是一?DATE 字符Ԍ一?DATETIME 字符Ԍ一?TIMESTAMPQ或者以一?YYMMDD ?YYYYMMDD 昄的本地时_(d)(x)
mysql> SELECT UNIX_TIMESTAMP();
        -> 882226357
mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
        -> 875996580
?UNIX_TIMESTAMP 被用于一?TIMESTAMP 列时Q函数直接返回一个内部的旉戛_|而不q行一个隐含地 “string-to-unix-timestamp?转换。如果你传递一个超围的日期参数l?UNIX_TIMESTAMP() Q它?yu)返?0Q但是请注意QMySQL 对其仅仅q行基本的检?q范?1970-2037Q月?01-12Q日?01-31)?如果你希望减?UNIX_TIMESTAMP() 列,你应该需要将l果强制转换Z有符h数。查看章?6.3.5 Cast 函数?

FROM_UNIXTIME(unix_timestamp [,format])
?'YYYY-MM-DD HH:MM:SS' ?YYYYMMDDHHMMSS 格式q回一?unix_timestamp 参数|q回值的形式取决于该函数使用于字W串q是数字语境?如果 format l出Q返回g format 字符串被格式?code>format 可以包含?DATE_FORMAT() 函数同样的修饰符?
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 格式q回参数 seconds 被{换到时分U后的|q回值的形式取决于该函数使用于字W串q是数字语境Q?
mysql> SELECT SEC_TO_TIME(2378);
        -> '00:39:38'
mysql> SELECT SEC_TO_TIME(2378) + 0;
        -> 3938
TIME_TO_SEC(time)
参?time 转换为秒数后q回Q?
mysql> SELECT TIME_TO_SEC('22:23:00');
        -> 80580
mysql> SELECT TIME_TO_SEC('00:39:38');
        -> 2378


yanzhicun 2006-06-01 11:55 发表评论
]]>
JavaScriptp么回?Q窗口和框架http://www.tkk7.com/yanzhicun/archive/2006/05/23/47627.htmlyanzhicunyanzhicunTue, 23 May 2006 05:46:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/05/23/47627.htmlhttp://www.tkk7.com/yanzhicun/comments/47627.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/05/23/47627.html#Feedback1http://www.tkk7.com/yanzhicun/comments/commentRss/47627.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/47627.html 54 改变?gu)览器状态栏文字提示
  1. <script language=”JavaScript?/span>>
  2. window.status “A new status message?/span>;
  3. </script>


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


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


57 打开一个新H口
  1. //打开一个名UCؓ(f)myNewWindow的浏览器新窗?br />
  2. <script language=”JavaScript?/span>>
  3. window.open(“http://www.liu21st.com/?”myNewWindow?;
  4. </script>


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


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


60 是否昄工具栏和滚动?br />
  1. <script language=”JavaScript?/span>>
  2. window.open(“http:


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


62 加蝲一个新的文档到当前H口
  1. <a href='#' onClick='document.location = '125a.html';' >Open New Document</a>


63 讄面的滚动位|?br />
  1. <script language=”JavaScript?/span>>
  2. if (
  3. document.all) { //如果是IE览器则使用scrollTop属?br />
  4. document.body.scrollTop 200;
  5.  } else { 
  6. //如果是NetScape览器则使用pageYOffset属?br />
  7. window.pageYOffset 200;
  8.  }
  9. </script>


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


65 新窗口和父窗口的操作
  1. <script language=”JavaScript?/span>>
  2. //定义新窗?br />
  3. var newWindow window.open(?28a.html?/span>,”newWindow?/span>);
  4. newWindow.close(); //在父H口中关闭打开的新H口
  5. </script>
  6. 在新H口中关闭父H口
  7. window.opener.close()


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


67 加蝲面到框枉?br />
  1. <frameset cols=?0%,*?/span>>
  2. <
  3. frame name=”frame1” src=?35a.html?/span>>
  4. <
  5. frame name=”frame2” src=”about:blank?/span>>
  6. </
  7. frameset>
  8. 在frame1中加载frame2中的面
  9. parent
  10. .frame2.document.location ?35b.html?/span>;


68 在框枉面之间共享脚?br />如果在frame1中h(hun)tml文g中有个脚?br />
  1. function doAlert() { 
  2. window.alert(“Frame 1 is loaded?/span>);
  3.  }

那么在frame2中可以如此调用该Ҏ(gu)
  1. <body onLoad=”parent.frame1.doAlert();?/span>>
  2. This is frame 2.
  3. </body>


69 数据公用
可以在框枉面定义数据项Q得该数据可以被多个框架中的页面公?br />
  1. <script language=”JavaScript?/span>>
  2. var 
  3. persistentVariable “This is a persistent value?/span>;
  4. </script>
  5. <frameset cols=?0%,*?gt;
  6. <frame name=”frame1” src=?38a.html?gt;
  7. <frame name=”frame2” src=?38b.html?gt;
  8. </frameset>


q样在frame1和frame2中都可以使用变量persistentVariable
70 框架代码?br />Ҏ(gu)以上的一些思\Q我们可以用一个隐藏的框架面来作为整个框枉的代码库
  1. <frameset cols=?,50%,*?/span>>
  2. <
  3. frame name=”codeFrame” src=?40code.html?/span>>
  4. <
  5. frame name=”frame1” src=?40a.html?/span>>
  6. <
  7. frame name=”frame2” src=?40b.html?/span>>
  8. </
  9. frameset>



yanzhicun 2006-05-23 13:46 发表评论
]]>
SQL Server各种日期计算Ҏ(gu)http://www.tkk7.com/yanzhicun/archive/2006/04/10/40190.htmlyanzhicunyanzhicunMon, 10 Apr 2006 03:12:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/04/10/40190.htmlhttp://www.tkk7.com/yanzhicun/comments/40190.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/04/10/40190.html#Feedback0http://www.tkk7.com/yanzhicun/comments/commentRss/40190.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/40190.html
  在用本文中的例子之前,你必L意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一Pq完全由哪一天是一个星期的W一天这个设|决定。第一天(DATEFIRSTQ设定决定了你的pȝ使用哪一天作Z周的W一天。所有以下的例 子都是以星期天作ؓ(f)一周的W一天来建立Q也是W一天设|ؓ(f)7。假如你的第一天设|不一P你可能需要调整这些例子,使它和不同的W一天设|相W合。你可以通过@@DATEFIRST函数来检查第一天设|。?
  
  Z理解q些例子Q我们先复习(fn)一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年{时间间隔L。DATEADD函数计算一个日期通过l时间间隔加减来获得一个新的日期。要了解更多的DATEDI FF和DATEADD函数以及(qing)旉间隔可以阅读微Y联机帮助。?
  
  使用DATEDIFF和DATEADD函数来计日期,和本来从当前日期转换C需要的日期的考虑Ҏ(gu)有点不同。你必须从时间间隔这个方面来考虑。比如,从当前日期到你要得到的日期之间有多少旉间隔Q或者,从今天到某一天(比如1900-1-1Q之间有多少旉间隔Q等{。理解怎样着g旉间隔有助于你L的理解我的不同的日期计算例子。?
  
  一个月的第一天?
  
  W一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意Q这个例子以?qing)这文章中的其他例子都只使用DATEDIFF和DATEADD函数来计我们想要的日期。每一个例子都通过计算但前的时间间隔,然后q行加减来得到想要计的日期。?
  
  q是计算一个月W一天的SQL 脚本Q?
  SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 
  
  我们把这个语句分开来看看它是如何工作的。最核心的函数是getdate()Q大部分人都知道q个是返回当前的日期和时间的函数。下一个执行的函数 DATEDIFF(mm,0,getdate())是计当前日期和?900-01-01 00:00:00.000”这个日期之间的月数。记住:(x)时期和时间变量和毫秒一h从?900-01-01 00:00:00.000”开始计的。这是Z么你可以在DATEDIFF函数中指定第一个时间表辑ּ为?”。下一个函数是DATEADDQ增加当前日期到?900-01-01”的月数。通过增加预定义的日期?900-01-01”和当前日期的月敎ͼ我们可以获得q个月的W一天。另外,计算出来的日期的旉部分会(x)是?0:00:00.000”。?
  
  q个计算的技巧是先计当前日期到?900-01-01”的旉间隔敎ͼ然后把它加到?900-01-01”上来获得特D的日期Q这个技巧可以用来计很多不同的日期。下一个例子也是用q个技巧从当前日期来生不同的日期?
本周的星期一 
  
  q里我是用周(wk)的时间间隔来计算哪一天是本周的星期一。?
  
  SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 
  
  一q的W一天?
  
  现在用年(yy)的时间间隔来昄q一q的W一天。?
  
  SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 
  
  季度的第一天?
  
  假如你要计算q个季度的第一天,q个例子告诉你该如何做。?
  
  SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) 
  
  当天的半夜?
  
  曄需要通过getdate()函数Zq回旉值截掉时间部分,׃(x)考虑到当前日期是不是在半夜。假如这Pq个例子使用DATEDIFF和DATEADD函数来获得半夜的旉炏V?
  
  SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0) 
  
  深入DATEDIFF和DATEADD函数计算 
  
  你可以明白,通过使用单的DATEDIFF和DATEADD函数计算Q你可以发现很多不同的可能有意义的日期。?
  
  目前为止的所有例子只是仅仅计当前的旉和?900-01-01”之间的旉间隔数量Q然后把它加到?900-01-01”的旉间隔上来计算出日期。假定你修改旉间隔的数量,或者用不同的旉间隔来调用DATEADD函数Q或者减L间间隔而不是增加,那么通过q些的调整你可以发现和多不同的日期。?
  
  q里有四个例子用另外一个DATEADD函数来计最后一天来分别替换DATEADD函数前后两个旉间隔。?
上个月的最后一天?
  
  q是一个计上个月最后一天的例子。它通过从一个月的最后一天这个例子上减去3毫秒来获得。有一点要CQ在Sql Server中时间是_?毫秒。这是Z么我需要减?毫秒来获得我要的日期和时间。?
  
  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)) 
  
  计算出来的日期的旉部分包含了一个Sql Server可以记录的一天的最后时??3:59:59:997?的时间。?
  
  d的最后一天?
  
  q接上面的例子,Z要得到去q的最后一天,你需要在今年的第一天上减去3毫秒。?
  
  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)) 
  
  本月的最后一天?
  
  现在Qؓ(f)了获得本月的最后一天,我需要稍微修改一下获得上个月的最后一天的语句。修攚w要给用DATEDIFF比较当前日期和?900-01-01?q回的时间间隔上?。通过?个月Q我计算Z个月的第一天,然后减去3毫秒Q这样就计算Zq个月的最后一天。这是计本月最后一天的SQL脚本。?
  
  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) 
  
  本年的最后一天   
  你现在应该掌握这个的做法Q这是计本q最后一天脚本?
  
  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))。?
  
  本月的第一个星期一 
  
  好了Q现在是最后一个例子。这里我要计这个月的第一个星期一。这是计的脚本。?
  
  select DATEADD(wk, DATEDIFF(wk,0, 
  dateadd(dd,6-datepart(day,getdate()),getdate()) 
  ), 0) 
  
  在这个例子里Q我使用了“本周的星期一”的脚本Qƈ作了一点点修改。修改的部分是把原来脚本中“getdate()”部分替换成计算本月的第6天,在计中用本月的W?天来替换当前日期使得计算可以获得q个月的W一个星期一。?
  
  ȝ 
  
  我希望这些例子可以在你用DATEADD和DATEDIFF函数计算日期时给你一点启发。通过使用q个计算日期的时间间隔的数学Ҏ(gu)Q我发现Z昄两个日期之间间隔的有用历法是有h(hun)值的。注意,q只是计出q些日期的一U方法。要牢记Q还有很多方法 可以得到相同的计算l果。假如你有其他的Ҏ(gu)Q那很不错,要是你没有,我希望这些例子可以给你一些启发,当你要用DATEADD和DATEDIFF函数计算你程序可能要用到的日期时。?
附录Q其他日期处理方法?
  
  1)L时分U?
  declare @ datetime 
  set @ = getdate() --?003-7-1 10:00:00’?
  SELECT @,DATEADD(day, DATEDIFF(day,0,@), 0) 
  
  2Q显C星期几 
  select datename(weekday,getdate()) 
  
  3Q如何取得某个月的天敊W?
  declare @m int 
  set @m=2 --月䆾 
  select datediff(day,?003-?cast(@m as varchar)+?15’??003-?cast(@m+1 as varchar)+?15? 
  另外Q取得本月天敊W?
  select datediff(day,cast(month(GetDate()) as varchar)+??cast(month(GetDate()) as varchar)+?15’?cast(month(GetDate()) as varchar)+??cast(month(GetDate())+1 as varchar)+?15? 
  或者用计本月的最后一天的脚本Q然后用DAY函数区最后一天?
  SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))) 
  
  4Q判断是否闰q_(d)(x) 
  SELECT case day(dateadd(mm, 2, dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))) when 28 then ’^q’ else ’闰q’ end 
  或者?
  select case datediff(day,datename(year,getdate())+?02-01?dateadd(mm,1,datename(year,getdate())+?02-01?) 
  when 28 then ’^q’ else ’闰q’ end 
  
  5Q一个季度多天 
  declare @m tinyint,@time smalldatetime 
  select @m=month(getdate()) 
  select @m=case when @m between 1 and 3 then 1 
  when @m between 4 and 6 then 4 
  when @m between 7 and 9 then 7 
  else 10 end 
  select @time=datename(year,getdate())+??convert(varchar(10),@m)+?01’?
  select datediff(day,@time,dateadd(mm,3,@time))

yanzhicun 2006-04-10 11:12 发表评论
]]>
ASP日期和时间函数参考(以及(qing)日期函数扩展cZ—原创)(j)http://www.tkk7.com/yanzhicun/archive/2006/04/10/40189.htmlyanzhicunyanzhicunMon, 10 Apr 2006 03:09:00 GMThttp://www.tkk7.com/yanzhicun/archive/2006/04/10/40189.htmlhttp://www.tkk7.com/yanzhicun/comments/40189.htmlhttp://www.tkk7.com/yanzhicun/archive/2006/04/10/40189.html#Feedback1http://www.tkk7.com/yanzhicun/comments/commentRss/40189.htmlhttp://www.tkk7.com/yanzhicun/services/trackbacks/40189.htmlclsDateFunEx_Power by Sman & Net Fetch:
下蝲文g点击下蝲此文?/a>

Asp基本日期函数Q?/strong>
函数 语法 说明 CZ
Now Now() 取得pȝ当前的日期和旉
Date Date() 取得pȝ当前的日?
Time Time() 取得pȝ当前的时?
Year Year(Date) 取得l定日期的年?
Month Month(Date) 取得l定日期的月?br />Day Day(Date) 取得l定日期是几?br />Hour Hour(time) 取得l定旉是第几小?br />Minute Minute(time) 取得l定旉是第几分?br />Second Second(time) 取得l守旉是第几秒
WeekDay WeekDay(Date) 取得l定日期? 星期几的整数Q?表示星期日,2表示星期一Q依此类?br />DateDiff("Var",Var1,Var2)
Var:日期或时间间隔因子,有如下参敎ͼ(x)yyyy q?m?d ?ww星期 h时 sU?
Var1:W一个日期或旉
Var2:W二个日期或旉Q比Var1?计算两个日期或时间的间隔

DateAdd("Var",Var1,Var2)
Var:日期或时间间隔因子:(x)
Var1:日期或时间间隔倍数
Var2:日期或时间的基准 对两个日期或旉作加?br />如果计算的日期是在公?100 q之前,则会(x)产生错误?br />
FormatDateTime FormatDateTime(Date,vbShortDate) 转化为短日期格式 FromatDateTime(Date(),vbLongDate) "以长日期格式昄
FormatDateTime(Date,vbLongDate) 转化为长日期格式
FormatDateTime(Date,vbShortTime) 转化为短旉格式
FormatDateTime(Date,vbLongTime) 转化为长旉格式

日期函数扩展cM?(clsDateFunEx_Power by Sman & Net Fetch):

E序代码 E序代码
<%
'转发时请保留此声明信?q段声明不ƈ?x)?jing)响你的速度!
'************************** 【日期扩展类】Ver 0.1.0 ********************************
'开发h:  Sman、Net Fetch
'开发日?  2005-11-11
'版本?  Ver 0.1.0

'官方|站:
http://www.sman.cnhttp://www.ad0.cn
'?sh)子邮g:huihui3030@126.com、Ad0@Ad0.Cn QQ:19341293 32050450
'版权声明:版权没有,盗版不究,源码公开,Ƣ迎盗版,Ƣ迎你到官方|站来寻求支持?br />'如有M改进之处Q麻?ch){发或者反馈一份到 huihui3030@126.com、Ad0@Ad0.CnQThanks!
'详细使用说明或范例请见下载附件或到官方站Ҏ(gu)Email联系下蝲Q?br />'************************************************************************************

Class DateFunEx

Private d_

 Private Sub class_initialize()
  d_ = ""
 End Sub
 
Public Property Let setDate(strDate) '传入日期参数 strDate
d_ = strDate
End Property
 
 Public Property Get Version
  Version = "Copyright © Date Function Extend Ver 0.1.0<br />" & _
    "Power by <a href='http://www.sman.cn' target='_blank'>Sman</a> " & _
    " & <a href='mailto:NetFetchStudio@163.com' target='_blank'>Net Fetch</a>"
 End Property

Sub FormatDate()
  On Error Resume Next
  If IsNumeric(d_) Then
   d_ = Cint(d_)
   If len(d_)< 3 Then d_ = "20" & right("0"&d_,2)
   d_ = d_ & "-1"
  End If
  d_ = cDate(d_)
End Sub  
'------------------------------
' 功能说明:第几周的星期几是几?br />' 参数说明:y q?w?week 星期 (星期一1 星期?) FirstDayofWeek 每周的第一?详细讄请参照VBS手册)
' ?2005q?0周星期天 GetWeekDate(2005,40,7)
'------------------------------
Public Function GetWeekDate(y, w, DayofWeek)
  Call FormatDate()
Dim NewYearDay,FirstDayofWeek
FirstDayofWeek = 2
NewYearDay = CDate(y & "-1-1") '元旦
GetWeekDate = ((NewYearDay - Weekday(NewYearDay, FirstDayofWeek)) + (w - 1) * 7 + DayofWeek)
 End Function

'------------------------------
' 功能说明:获得某年某月的天?br />' 参数说明:d_ q???br />' ?2005q?0?GetMonthDayCount("2005-10-11")(日可要可不要)
'------------------------------
Public Function GetMonthDayCount()
  Call FormatDate()
GetMonthDayCount = DateDiff("d", d_, DateAdd("m", 1, d_))
End Function

'------------------------------
' 功能说明:得到某年某月的第一?br />' 相关函数:GetMonthFirstDay
' ?本月 GetMonthFirstDay(date)(日可要可不要) 上月 GetMonthFirstDay(dateadd("m",-1,date)) 以此cL
'------------------------------
Public Function GetMonthFirstDay()
  Call FormatDate()
GetMonthFirstDay = CDate( Year(d_) & "-" & Month(d_) & "-1")
End Function
 
'------------------------------
' 功能说明:得到某年的某月的最后一?br />' 参数说明:d_ q???br />' 兌函数:GetMonthDayCount
' ?本月 GetMonthLastDay(date)(日可要可不要) 上月 GetMonthLastDay(dateadd("m",-1,date)) 以此cL
'------------------------------
Public Function GetMonthLastDay()
  Call FormatDate()
GetMonthLastDay = CDate( Year(d_) & "-"&Month(d_) & "-" & DateDiff("d", d_, DateAdd("m", 1, d_)))
End Function

'------------------------------
' 功能说明:某日所在的周的W一天的日期
' 相关函数:GetWeekDate
' ?本周 WeekFirstDay(date) 上周 WeekFirstDay(dateadd("ww",-1,date)) 以此cL
'------------------------------
Public Function WeekFirstDay()
  Call FormatDate()
WeekFirstDay = GetWeekDate(Year(d_), DatePart("ww", d_), 1)
End Function

'------------------------------
' 功能说明:某日所在的周的W最后一天的日期
' 相关函数:GetWeekDate
' ?本周 WeekLastDay(date) 上周 WeekLastDay(dateadd("ww",-1,date)) 以此cL
'------------------------------
Public Function WeekLastDay()
  Call FormatDate()
WeekLastDay = GetWeekDate(Year(d_), DatePart("ww", d_), 7)
End Function
 
End Class
%>


调用代码:
E序代码 E序代码
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% Option Explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Test_clsDateFunEx</title>
</head>

<body>
<!--#include file="clsDateFunEx.asp" -->
<%
Dim myDateFun,strDate
strDate = "2005-6"
Set myDateFun = new DateFunEx
 myDateFun.setDate = strDate
 Response.write "2005q第5周的星期天是几号:<br>" & _
      String(20, " ") & myDateFun.GetWeekDate(2005,10,7) &"<br>"
 Response.Write "本月的天?<br>"&_
      String(20, " ") & myDateFun.GetMonthDayCount & "<br>"
 Response.Write "本月的第一?<br>"&_
      String(20, " ") & myDateFun.GetMonthFirstDay & "<br>"
 myDateFun.setDate = Now()
 Response.Write "本月的最后一?<br>"&_
      String(20, " ") & myDateFun.GetMonthLastDay & "<br>"
 Response.Write "本月所在的周的W一天的日期:<br>"&_
      String(20, " ") & myDateFun.WeekFirstDay & "<br>"
 Response.Write "本月所在的周的W最后一天的日期:<br>" & _
      String(20, " ") & myDateFun.WeekLastDay & "<br>"
 Response.Write "<br><br><br><div style='padding-left:200px;font-size:12px;'>" & myDateFun.Version & "</div><br>"
Set myDateFun = Nothing
%>
</body>
</html>


E序代码 E序代码
'*************************************
'日期转换函数
'*************************************
Function DateToStr(DateTime,ShowType)
 Dim DateMonth,DateDay,DateHour,DateMinute,DateWeek,DateSecond
 Dim FullWeekday,shortWeekday,Fullmonth,Shortmonth,TimeZone1,TimeZone2
 TimeZone1="+0800"
 TimeZone2="+08:00"
 FullWeekday=Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
 shortWeekday=Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
Fullmonth=Array("January","February","March","April","May","June","July","August","September","October","November","December")
Shortmonth=Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

 DateMonth=Month(DateTime)
 DateDay=Day(DateTime)
 DateHour=Hour(DateTime)
 DateMinute=Minute(DateTime)
 DateWeek=weekday(DateTime)
 DateSecond=Second(DateTime)
 If Len(DateMonth)<2 Then DateMonth="0"&DateMonth
 If Len(DateDay)<2 Then DateDay="0"&DateDay
 If Len(DateMinute)<2 Then DateMinute="0"&DateMinute
 Select Case ShowType
 Case "Y-m-d"
  DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay
 Case "Y-m-d H:I A"
  Dim DateAMPM
  If DateHour>12 Then
   DateHour=DateHour-12
   DateAMPM="PM"
  Else
   DateHour=DateHour
   DateAMPM="AM"
  End If
  If Len(DateHour)<2 Then DateHour="0"&DateHour 
  DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute&" "&DateAMPM
 Case "Y-m-d H:I:S"
  If Len(DateHour)<2 Then DateHour="0"&DateHour 
  If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
  DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute&":"&DateSecond
 Case "YmdHIS"
  DateSecond=Second(DateTime)
  If Len(DateHour)<2 Then DateHour="0"&DateHour 
  If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
  DateToStr=Year(DateTime)&DateMonth&DateDay&DateHour&DateMinute&DateSecond 
 Case "ym"
  DateToStr=Right(Year(DateTime),2)&DateMonth
 Case "d"
  DateToStr=DateDay
Case "ymd"
DateToStr=Right(Year(DateTime),4)&DateMonth&DateDay
Case "mdy"
Dim DayEnd
select Case DateDay
Case 1
DayEnd="st"
Case 2
DayEnd="nd"
Case 3
DayEnd="rd"
Case Else
DayEnd="th"
End Select
DateToStr=Fullmonth(DateMonth-1)&" "&DateDay&DayEnd&" "&Right(Year(DateTime),4)
Case "w,d m y H:I:S"
  DateSecond=Second(DateTime)
  If Len(DateHour)<2 Then DateHour="0"&DateHour 
  If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
DateToStr=shortWeekday(DateWeek-1)&","&DateDay&" "& Left(Fullmonth(DateMonth-1),3) &" "&Right(Year(DateTime),4)&" "&DateHour&":"&DateMinute&":"&DateSecond&" "&TimeZone1
Case "y-m-dTH:I:S"
  If Len(DateHour)<2 Then DateHour="0"&DateHour 
  If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
  DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&"T"&DateHour&":"&DateMinute&":"&DateSecond&TimeZone2
 Case Else
  If Len(DateHour)<2 Then DateHour="0"&DateHour
  DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute
 End Select
End Function


yanzhicun 2006-04-10 11:09 发表评论
]]>
վ֩ģ壺 ߿ƬvѹۿƵ777 | ߹ۿ޳| ˳վ߹ۿ| ĻþþƷ1| ޹þ| ޾糡ҹ߹ۿ| ƷAV| ˾ƷƵ| 뾫Ʒһѿ | ѵĻɫվ| aҹëƬһ| ޾Ʒѿ| žƷƵ| ɫһëƬ޻Ƭȫ| av벻| žAV뾫ƷëƬ| ɫͷۺƵ| 99ѹۿƵ| ³˿Ƭһۿ| ߲޵һĻ| avٺٺ| ؼaƬëƬѿ| һ| Ů˾ƷƵ| ޴߶ר| 츾avҹ벻| þþƷѹƬС| òƵ| Ļר| ҹӰ߹ۿ| һȫƵ| ֱ߹ۿƵƵ | պһ| Ʒһ鶹| Ʒһ| Ѹվ߹ۿ| žžAVƬ| avһ| ѹۿ91Ƶ| ÿ߹ۿapp| ŮƵ|