sql like操作符及通配符详解
作者:admin 日期:2009-05-11
sql:如何更改数据库表的创建时间
作者:admin 日期:2009-05-05
通过 执行以下SQL语句能够将数据库创建时间进行修改
use 数据库名
sp_configure 'allow updates',1
reconfigure with override
go
update sysobjects set crdate='2007-05-30' where id=object_id('表名')
go
sp_configure 'allow updates',0
reconfigure with override
可能会碰到一个错误提示:“未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL...
use 数据库名
sp_configure 'allow updates',1
reconfigure with override
go
update sysobjects set crdate='2007-05-30' where id=object_id('表名')
go
sp_configure 'allow updates',0
reconfigure with override
可能会碰到一个错误提示:“未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL...
数据库显示结果按特殊顺序排序解决方法
作者:admin 日期:2009-04-29
数据库查询时的排序规则可按字段/统计结果的升序或者降序排列,但是如果我们想按照我们自己想要的一种方式排列怎么办呢?一般情况下我们需要增加一个字段作为排序依据,然后按排序顺序或者叫权重来排序,有时候我们偶尔要用一下不想去增加排序字段怎么办呢?好办而且很简单
比方说下边的查询语句:
select classid from classify where classid in(1,2,3,4,5,6,7,8,9)
想按照8,5,3,2,1,9,7,6,4这样的顺序排列该怎么写sql语句呢?
按下面的写法即可实现:
select classid from classify where classid in(1,2,3,4,5,6,7,8,9) order by charindex(',&...
比方说下边的查询语句:
select classid from classify where classid in(1,2,3,4,5,6,7,8,9)
想按照8,5,3,2,1,9,7,6,4这样的顺序排列该怎么写sql语句呢?
按下面的写法即可实现:
select classid from classify where classid in(1,2,3,4,5,6,7,8,9) order by charindex(',&...
"DERIVEDTBL": SQL Server 保留关键字 ?
作者:admin 日期:2008-10-10
今天在 MS SQL Server 2000 Enterprise Manager 的 SQL 窗格中调试如下 SQL 语句时发现 SQL 窗格执行后在将原始的 SQL 改动了,自动增加了一个 DERIVEDTBL
这个 DERIVEDTBL 还真让我费了一点劲,是新的保留关键字吗?可是在 SQL Server 的 Online Help 中没有找到,在 Google 也没找着这个单词的解释。
后来无意中把 DERIVEDTBL 改成 Temp 发现也能用,汗~~~,原来是 SQL 窗格只是给子查询增加了一个别名而已。
哎 记下 记下
这个 DERIVEDTBL 还真让我费了一点劲,是新的保留关键字吗?可是在 SQL Server 的 Online Help 中没有找到,在 Google 也没找着这个单词的解释。
后来无意中把 DERIVEDTBL 改成 Temp 发现也能用,汗~~~,原来是 SQL 窗格只是给子查询增加了一个别名而已。
哎 记下 记下
Tags: sql DERIVEDTBL
遇到Access关键字 ,使用时加[ ]解决
作者:admin 日期:2008-08-12
统计每天的数据方法sql语句
作者:admin 日期:2008-01-23
Select COUNT(*) AS plnum, CONVERT(varchar(10), NC_Comment.PosTime, 120) AS dayandtime FROM NC_User INNER JOIN NC_Comment ON NC_User.username = NC_Comment.username Where NC_Comment.ChannelID=2 GROUP BY CONVERT(varchar(10), NC_Comment.posTime, 120) orDER BY dayandtime DESC
Select COUNT(*) AS plnum, CONVERT(varchar(10), NC_Comment.PosTime, 120) AS dayandtime FROM NC_User INNER JOIN NC_Comment ON NC_User.username = NC_Comment.username Where NC_Comment.ChannelID=2 GROUP BY CONVERT(varchar(10), NC_Comment.posTime, 120) orDER BY dayandtime DESC
呵呵,以前用的 记录以下
Select COUNT(*) AS plnum, CONVERT(varchar(10), NC_Comment.PosTime, 120) AS dayandtime FROM NC_User INNER JOIN NC_Comment ON NC_User.username = NC_Comment.username Where NC_Comment.ChannelID=2 GROUP BY CONVERT(varchar(10), NC_Comment.posTime, 120) orDER BY dayandtime DESC
呵呵,以前用的 记录以下
Tags: sql
Microsoft OLE DB Provider for SQL Server 错误 80040e
作者:admin 日期:2008-01-09
Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Server Driver]超时已过期);
服务器上看CPU、内存占用率很低;
事件日志中提示: 数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 Alter DATABASE 设置更小的 FILEGROWTH 或设置新的大小。
原因:
数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。
解决方法:
把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。
2.SQL Server数据库超时设置
修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒。
企业管理器中的设置:
A、在企业管理器中,选择菜单上的"工具",再选择"选项";
B、在弹出的&...
服务器上看CPU、内存占用率很低;
事件日志中提示: 数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 Alter DATABASE 设置更小的 FILEGROWTH 或设置新的大小。
原因:
数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。
解决方法:
把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。
2.SQL Server数据库超时设置
修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒。
企业管理器中的设置:
A、在企业管理器中,选择菜单上的"工具",再选择"选项";
B、在弹出的&...
SQL Server 灾难恢复
作者:admin 日期:2007-07-24
由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息:
设备激活错误。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有误。
已创建名为 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。
但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息
服务器: 消息 1813,级别 16,状态 2,行 1
未能打开新数据库 'test'。Create DATABASE 将终止。
设备激活错误。物理文件名 'd:\test_log.LDF' 可能有误。
怎么办呢?别着急,下面我们举例说明恢复办法。
A.我们使用默认方式建立一个供恢复使用的数据库(如test...
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息:
设备激活错误。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有误。
已创建名为 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。
但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息
服务器: 消息 1813,级别 16,状态 2,行 1
未能打开新数据库 'test'。Create DATABASE 将终止。
设备激活错误。物理文件名 'd:\test_log.LDF' 可能有误。
怎么办呢?别着急,下面我们举例说明恢复办法。
A.我们使用默认方式建立一个供恢复使用的数据库(如test...
SQL函数-日期函数
作者:admin 日期:2006-11-23
二、日期/时间函数(可以工作在Select,FROM,Where之间)
1。ADD_MONTHS:将指定的日期增加一个月。
SQL>Select TASK,STARTDATE,ENDDATE orIGNAL_END,ADD_MONTHS(ENDDATE,2)
FROM PROJECT;
2。LAST_DAY:可以返回指定月份的最后一天。
SQL>Select ENDDATE,LAST_DAY(ENDDATE) FROM PROJECT;
3。MONTHS_BETWEEN:查询给定2个日期之间有多少个月。
SQL>Select TASK,STARTDATE,ENNDATE,MONTHS_BETWEEN(STARTDATE,ENDDATE) DURATION
FROM PROJECT; (返回结果是负值).
可以利用负值来判断某一日期是否在另一个日期之前,
SQL>Select * FROM PROJECT Where MONTHS_BETWEEN ('19 MAY 95',STARTDATE)>0;
4。NEW_TIME:如果你想把时间调整到你所在的时区,你可以使用NEW_TIME,下边给出了所有时区。
SQL>Select ENDDATE EDT,NEW_TIME (ENDDATE,'EDT','PDT') FROM PROJECT;
5。NEXT_DAY:将返回与指定日期在同一个星期或之后一个星期内的,你所要求的星期天数的确切日期.如果你想知道你所指定的日期的星期五是几号,可以这样:
SQL>Select STARTDATE,NEXT_DAY(STARTDATE,'FRIDAY') FROM PROJECT;
6。SYSDATE:将返回系统的日期和时间。如:
SQL>Select DISTINCT SYSDAY FROM PROJECT;
1。ADD_MONTHS:将指定的日期增加一个月。
SQL>Select TASK,STARTDATE,ENDDATE orIGNAL_END,ADD_MONTHS(ENDDATE,2)
FROM PROJECT;
2。LAST_DAY:可以返回指定月份的最后一天。
SQL>Select ENDDATE,LAST_DAY(ENDDATE) FROM PROJECT;
3。MONTHS_BETWEEN:查询给定2个日期之间有多少个月。
SQL>Select TASK,STARTDATE,ENNDATE,MONTHS_BETWEEN(STARTDATE,ENDDATE) DURATION
FROM PROJECT; (返回结果是负值).
可以利用负值来判断某一日期是否在另一个日期之前,
SQL>Select * FROM PROJECT Where MONTHS_BETWEEN ('19 MAY 95',STARTDATE)>0;
4。NEW_TIME:如果你想把时间调整到你所在的时区,你可以使用NEW_TIME,下边给出了所有时区。
SQL>Select ENDDATE EDT,NEW_TIME (ENDDATE,'EDT','PDT') FROM PROJECT;
5。NEXT_DAY:将返回与指定日期在同一个星期或之后一个星期内的,你所要求的星期天数的确切日期.如果你想知道你所指定的日期的星期五是几号,可以这样:
SQL>Select STARTDATE,NEXT_DAY(STARTDATE,'FRIDAY') FROM PROJECT;
6。SYSDATE:将返回系统的日期和时间。如:
SQL>Select DISTINCT SYSDAY FROM PROJECT;
Tags: sql
SQL函数-统计函数
作者:admin 日期:2006-11-23
SQL函数:
一、统计函数:(工作于Select..FROM之间)
1。COUNT:返回满足Where条件子句中记录的个数,例如:
SQL>Select COUNT(*) FROM TEAMSTATS Where HITS/AB<.35;
2。SUM:返回某一列的所数值的和。
SQL>Select SUM(SINGLES) TOTAL_SINGLES FROM TEAMSTATS;
3。AVG:返回某一列的平均值。
SQL>Select AVG(SO) AVE_STRIKE_OUTS FROM TEAMSTATS;
4。MAX:返回某一列中的最大值。
SQL>Select MAX(HITS) FROM TEAMSTATS;
5。MIN:返回某一列中的最小值。
SQL>Select MIN(HITS) FROM TEAMTSTATS;
6。VARIANCE:方差,不是标准中所定义的,但它却是统计领域中的一个至关重要的数值。
SQL>Select VARIANCE(HITS) FROM TEAMSTATS;]
7。STDDEV:这是最后一个统计函数,STDDEV返回某一列数值的标准差。
SQL>Select STDDEV(HITS) FROM TEAMSTATS;
一、统计函数:(工作于Select..FROM之间)
1。COUNT:返回满足Where条件子句中记录的个数,例如:
SQL>Select COUNT(*) FROM TEAMSTATS Where HITS/AB<.35;
2。SUM:返回某一列的所数值的和。
SQL>Select SUM(SINGLES) TOTAL_SINGLES FROM TEAMSTATS;
3。AVG:返回某一列的平均值。
SQL>Select AVG(SO) AVE_STRIKE_OUTS FROM TEAMSTATS;
4。MAX:返回某一列中的最大值。
SQL>Select MAX(HITS) FROM TEAMSTATS;
5。MIN:返回某一列中的最小值。
SQL>Select MIN(HITS) FROM TEAMTSTATS;
6。VARIANCE:方差,不是标准中所定义的,但它却是统计领域中的一个至关重要的数值。
SQL>Select VARIANCE(HITS) FROM TEAMSTATS;]
7。STDDEV:这是最后一个统计函数,STDDEV返回某一列数值的标准差。
SQL>Select STDDEV(HITS) FROM TEAMSTATS;
Tags: sql
