??xml version="1.0" encoding="utf-8" standalone="yes"?> 一、基 1、说明:(x)创徏数据?/p>
CREATE DATABASE database-name 2、说明:(x)删除数据?/p>
drop database dbname 3、说明:(x)备䆾sql server --- 创徏 备䆾数据?device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开?备䆾 BACKUP DATABASE pubs TO testBack 4、说明:(x)创徏新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) Ҏ(gu)已有的表创徏新表Q? AQcreate table tab_new like tab_old (使用旧表创徏新表) BQcreate table tab_new as select col1,col2... from tab_old definition only 5、说明:(x)删除新表 drop table tabname 6、说明:(x)增加一个列 Alter table tabname add column col type 注:(x)列增加后不能删除。DB2中列加上后数据类型也不能改变Q唯一能改变的是增加varcharcd的长度?/p>
7、说明:(x)d主键Q?Alter table tabname add primary key(col) 说明Q删除主键:(x) Alter table tabname drop primary key(col) 8、说明:(x)创徏索引Qcreate [unique] index idxname on tabname(col....) 删除索引Qdrop index idxname 注:(x)索引是不可更改的Q想更改必须删除重新建?/p>
9、说明:(x)创徏视图Qcreate view viewname as select statement 删除视图Qdrop view viewname 10、说明:(x)几个单的基本的sql语句 选择Qselect * from table1 where 范围 插入Qinsert into table1(field1,field2) values(value1,value2) 删除Qdelete from table1 where 范围 更新Qupdate table1 set field1=value1 where 范围 查找Qselect * from table1 where field1 like '%value1%' ---like的语法很_֦Q查资料! 排序Qselect * from table1 order by field1,field2 [desc] LQselect count as totalcount from table1 求和Qselect sum(field1) as sumvalue from table1 q_Qselect avg(field1) as avgvalue from table1 最大:(x)select max(field1) as maxvalue from table1 最:(x)select min(field1) as minvalue from table1 11、说明:(x)几个高查询q算?/p>
AQ?UNION q算W? UNION q算W通过l合其他两个l果表(例如 TABLE1 ?TABLE2Qƈ消去表中M重复行而派生出一个结果表。当 ALL ?UNION 一起用时Q即 UNION ALLQ,不消除重复行。两U情况下Q派生表的每一行不是来?TABLE1 是来自 TABLE2? BQ?EXCEPT q算W? EXCEPT q算W通过包括所有在 TABLE1 中但不在 TABLE2 中的行ƈ消除所有重复行而派生出一个结果表。当 ALL ?EXCEPT 一起用时 (EXCEPT ALL)Q不消除重复行? CQ?INTERSECT q算W?/p>
INTERSECT q算W通过只包?TABLE1 ?TABLE2 中都有的行ƈ消除所有重复行而派生出一个结果表。当 ALL ?INTERSECT 一起用时 (INTERSECT ALL)Q不消除重复行? 注:(x)使用q算词的几个查询l果行必L一致的? 12、说明:(x)使用外连? A、left outer joinQ? 左外q接Q左q接Q:(x)l果集几包括q接表的匚w行,也包括左q接表的所有行? SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c BQright outer join: 叛_q接(双?Q结果集既包括连接表的匹配连接行Q也包括双接表的所有行? CQfull outer joinQ? 全外q接Q不仅包括符可接表的匹配行Q还包括两个q接表中的所有记录?/p>
二、提?/p>
1、说明:(x)复制?只复制结?源表名:(x)a 新表名:(x)b) (Access可用) 法一Qselect * into b from a where 1<>1 法二Qselect top 0 * into b from a 2、说明:(x)拯?拯数据,源表名:(x)a 目标表名Qb) (Access可用) insert into b(a, b, c) select d,e,f from b; 3、说明:(x)跨数据库之间表的拯(具体数据使用l对路径) (Access可用) insert into b(a, b, c) select d,e,f from b in '具体数据? where 条g 例子Q?.from b in '"&Server.MapPath(".")&"\data.mdb" &"' where.. 4、说明:(x)子查?表名1Qa 表名2Qb) select a,b,c from a where a IN (select d from b ) 或? select a,b,c from a where a IN (1,2,3) 5、说明:(x)昄文章、提交h和最后回复时?/p>
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 6、说明:(x)外连接查?表名1Qa 表名2Qb) select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 7、说明:(x)在线视图查询(表名1Qa ) select * from (SELECT a,b,c FROM a) T where t.a > 1; 8、说明:(x)between的用?between限制查询数据范围时包括了(jin)边界?not between不包?/p>
select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 数? and 数? 9、说明:(x)in 的用方?/p>
select * from table1 where a [not] in ('?','?','?','?') 10、说明:(x)两张兌表,删除主表中已l在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 11、说明:(x)四表联查问题Q?/p>
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where ..... 12、说明:(x)日程安排提前五分钟提? SQL: select * from 日程安排 where datediff('minute',f开始时?getdate())>5 13、说明:(x)一条sql 语句搞定数据库分?/p>
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 14、说明:(x)?0条记?/p>
select top 10 * form table1 where 范围 15、说明:(x)选择在每一lb值相同的数据中对应的a最大的记录的所有信?cMq样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成l排?{等.) select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b) 16、说明:(x)包括所有在 TableA 中但不在 TableB和TableC 中的行ƈ消除所有重复行而派生出一个结果表 (select a from tableA ) except (select a from tableB) except (select a from tableC) 17、说明:(x)随机取出10条数?/p>
select top 10 * from tablename order by newid() 18、说明:(x)随机选择记录 select newid() 19、说明:(x)删除重复记录 Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...) 20、说明:(x)列出数据库里所有的表名 select name from sysobjects where type='U' 21、说明:(x)列出表里的所有的 select name from syscolumns where id=object_id('TableName') 22、说明:(x)列示type、vender、pcs字段Q以type字段排列Qcase可以方便地实现多重选择Q类似select 中的case?/p>
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type 昄l果Q?/p>
type vender pcs ?sh)?A 1 ?sh)?A 1 光盘 B 2 光盘 A 2 手机 B 3 手机 C 3 23、说明:(x)初始化表table1 TRUNCATE TABLE table1 24、说明:(x)选择?0?5的记?/p>
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc 三、技?/p>
1?=1Q?=2的用,在SQL语句l合时用的较?/p>
"where 1=1" 是表C选择全部 "where 1=2"全部不选, 如:(x) if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere end else begin set @strSQL = 'select count(*) as Total from [' + @tblName + ']' end 我们可以直接写成 set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere 2、收~数据库 --重徏索引 DBCC REINDEX DBCC INDEXDEFRAG --收羃数据和日?/p>
DBCC SHRINKDB DBCC SHRINKFILE 3、压~数据库 dbcc shrinkdatabase(dbname) 4、{UL据库l新用户以已存在用户权限 exec sp_change_users_login 'update_one','newname','oldname' go 5、检查备份集 RESTORE VERIFYONLY from disk='E:\dvbbs.bak' 6、修复数据库 ALTER DATABASE [dvbbs] SET SINGLE_USER GO DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK GO ALTER DATABASE [dvbbs] SET MULTI_USER GO 7、日志清?/p>
SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT USE tablename -- 要操作的数据库名 SELECT @LogicalFileName = 'tablename_log', -- 日志文g?/p>
@MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想讑֮的日志文件的大小(M) -- Setup / initialize DECLARE @OriginalSize int SELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileName SELECT 'Original Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileName CREATE TABLE DummyTrans (DummyColumn char (8000) not null) DECLARE @Counter INT, @StartTime DATETIME, @TruncLog VARCHAR(255) SELECT @StartTime = GETDATE(), @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY' DBCC SHRINKFILE (@LogicalFileName, @NewSize) EXEC (@TruncLog) -- Wrap the log if necessary. WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) AND (@OriginalSize * 8 /1024) > @NewSize BEGIN -- Outer loop. SELECT @Counter = 0 WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000)) BEGIN -- update INSERT DummyTrans VALUES ('Fill Log') DELETE DummyTrans SELECT @Counter = @Counter + 1 END EXEC (@TruncLog) END SELECT 'Final Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),size) + ' 8K pages or ' + CONVERT(VARCHAR(30),(size*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileName DROP TABLE DummyTrans SET NOCOUNT OFF 8、说明:(x)更改某个?/p>
exec sp_changeobjectowner 'tablename','dbo' 9、存储更改全部表 CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVARCHAR(128), @NewOwner as NVARCHAR(128) AS DECLARE @Name as NVARCHAR(128) DECLARE @Owner as NVARCHAR(128) DECLARE @OwnerName as NVARCHAR(128) DECLARE curObject CURSOR FOR select 'Name' = name, 'Owner' = user_name(uid) from sysobjects where user_name(uid)=@OldOwner order by name OPEN curObject FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0) BEGIN if @Owner=@OldOwner begin set @OwnerName = @OldOwner + '.' + rtrim(@Name) exec sp_changeobjectowner @OwnerName, @NewOwner end -- select @name,@NewOwner,@OldOwner FETCH NEXT FROM curObject INTO @Name, @Owner END close curObject deallocate curObject GO 10、SQL SERVER中直接@环写入数?/p>
declare @i int set @i=1 while @i<30 begin insert into test (userid) values(@i) set @i=@i+1 end 记存储q程中经常用到的本周Q本月,本年函数 Dateadd(wk,datediff(wk,0,getdate()),-1) Dateadd(wk,datediff(wk,0,getdate()),6) Dateadd(mm,datediff(mm,0,getdate()),0) Dateadd(ms,-3,dateadd(mm,datediff(m,0,getdate())+1,0)) Dateadd(yy,datediff(yy,0,getdate()),0) Dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0)) 上面的SQL代码只是一个时间段 Dateadd(wk,datediff(wk,0,getdate()),-1) Dateadd(wk,datediff(wk,0,getdate()),6) 是表示本周旉D? 下面的SQL的条仉?是查询旉D在本周范围内的: Where Time BETWEEN Dateadd(wk,datediff(wk,0,getdate()),-1) AND Dateadd(wk,datediff(wk,0,getdate()),6) 而在存储q程? select @begintime = Dateadd(wk,datediff(wk,0,getdate()),-1) select @endtime = Dateadd(wk,datediff(wk,0,getdate()),6) 本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/surfingsoft_mda/archive/2009/11/15/4812371.aspx 本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/surfingsoft_mda/archive/2009/11/15/4812371.aspx
首先建立数据库连接:(x)
-- Drop existing database link
drop public database link DB4960;
-- Create database link
create public database link DB4960
connect to ctile identified by ctile
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.11.41.60)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)';
然后需要徏立同义词Q?br />
create public synonym mistel.table for mistel.table@DB4960;
然后可以在本地使用select * from mistel.table 查询DB4960上的数据库表?
]]>
SCNQ系l改变号Q,它的英文全拼为:(x)System Change Number Q它是数据库中非帔R要的一个数据结构?br />
SCN提供?jin)Oracle的内部时钟机Ӟ可被看作逻辑旉Q这对于恢复操作是至关重要的
注释QOracle 仅根?SCN 执行恢复?br />
它定义了(jin)数据库在某个切时刻提交的版本。在事物提交Ӟ它被赋予一个唯一的标CZ物的SCN 。一些h认ؓ(f) SCN 是指Q?System Commit Number Q而通常 SCN 在提交时才变化,所以很多情况下Q?br />
q两个名词经常被交替使用?br />
I竟是哪个词其实Ҏ(gu)们来说ƈ不是最重要的,重要的是我们知道 SCN ?Oracle 内部的时钟机Ӟ Oracle 通过 SCN 来维护数据库的一致性,q过SCN 实施 Oracle 臛_重要的恢复机制?br />
具体执行程我们可从以下几个CZ图中体会(x);
1.原表记录 $ sqlplus eygle/eygle
SQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL>select count(*) from t1;
COUNT(*)
----------
9318
2.误删除所有记?br />
q且提交更改?br />
SQL>delete from t1;
9318 rows deleted.
SQL>commit;
Commit complete.
SQL>select count(*) from t1;
COUNT(*)
----------
0
3.获得当前SCN
如果能够切知道删除之前SCN最好,如果不知道,可以q行闪回查询试.
SQL>select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
10671006
SQL>select count(*) from t1 as of scn 10671000;
COUNT(*)
----------
0
SQL>select count(*) from t1 as of scn 10670000;
COUNT(*)
----------
9318
我们看到在SCN=10670000Ӟ数据都在?br />
4.恢复数据.
SQL>insert into t1 select * from t1 as of scn 10670000;
9318 rows created.
SQL>commit;
Commit complete.
SQL>select count(*) from t1;
COUNT(*)
----------
9318
文章2
误删数据后的q原
select timestamp_to_scn(to_timestamp('2009-03-13 09:00:00','YYYY-MM-DD HH:MI:SS')) from dual;
l果:13526973
删除时间{换ؓ(f)scn
select * from reportinfo
AS OF SCN 13526973
reportinfo表中的scn点的数据取出
然后可以Ҏ(gu)q个数据q行q原操作
create table reporttest as select * from reportinfo where 1=0;
insert into reporttest select * from reportinfo AS OF SCN 13526973;
--上面两句应该可以合成一?br />
--create table reporttest as select * from reportinfo AS OF SCN 13526973;
q是reporttest表中是scn点的reportinfo数据.处理卛_
]]>
]]>
不能用带表空间信息。如QThis one works fine within PL/SQL:
ALTER INDEX LISADMIN.Isample REBUILD TABLESPACE INDX
ALTER INDEX LISADMIN.Isample REBUILD ONLINE TABLESPACE INDX
2:删除重复行,保留最大值的行信息:(x)
delete from 'table'
where (a,b,c) not in (select a,b,max(c) from 'table' group by a,b);
3Q分区参C息的更新
CREATE TABLE WDZW1 (
WDBH NUMBER (10) NOT NULL,
WDZW CLOB)
TABLESPACE TESTSPACE PCTFREE 5 PCTUSED 90 INITRANS 1 MAXTRANS 255
STORAGE ( INITIAL 512 NEXT 512 )
PARTITION BY RANGE (WDBH)
(
PARTITION WDZW11 VALUES LESS THAN (100000)
PCTFREE 5 PCTUSED 90 INITRANS 1 MAXTRANS 255
STORAGE ( INITIAL 512k NEXT 512k PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 999),
PARTITION WDZW21 VALUES LESS THAN (200000)
PCTFREE 5 PCTUSED 90 INITRANS 1 MAXTRANS 255
STORAGE ( INITIAL 512k NEXT 512k PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 999Q?br />
Q;
CREATE UNIQUE INDEX PK_WDZW ON
WDZW1(WDBH)
TABLESPACE TESTSPACE PCTFREE 10 STORAGE(INITIAL 512 NEXT 512 PCTINCREASE 0 ) Q?br />
查看分区扩展信息Q?/p>
SQL> select INITIAL_EXTENT, NEXT_EXTENT ,MIN_EXTENTS ,MAX_EXTENTS from dba_segments
2 where segment_type = 'LOB PARTITION';
INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS
-------------- ----------- ----------- -----------
20480 20480 1 249
20480 20480 1 249
修改扩展分区Q?br /> alter table wdzw1 modify lob(wdzw) (storage (MAXEXTENTS unlimited))
修改后结果信息:(x)
SQL> select INITIAL_EXTENT, NEXT_EXTENT ,MIN_EXTENTS ,MAX_EXTENTS from dba_segments
2 where segment_type = 'LOB PARTITION';
INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS
-------------- ----------- ----------- -----------
20480 20480 1 2147483645
20480 20480 1 2147483645
数学函数
1.l对?
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(?
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整Q小Q?
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整Q截取)(j)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from dual
5.四舍五入
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from dual 1.2346
6.e为底的幂
S:select Exp(1) value 2.7182818284590451
O:select Exp(1) value from dual 2.71828182
7.取e为底的对?
S:select log(2.7182818284590451) value 1
O:select ln(2.7182818284590451) value from dual; 1
8.?0为底Ҏ(gu)
S:select log10(10) value 1
O:select log(10,10) value from dual; 1
9.取^?
S:select SQUARE(4) value 16
O:select power(4,2) value from dual 16
10.取^Ҏ(gu)
S:select SQRT(4) value 2
O:select SQRT(4) value from dual 2
11.求Q意数为底的幂
S:select power(3,4) value 81
O:select power(3,4) value from dual 81
12.取随机数
S:select rand() value
O:select sys.dbms_random.value(0,1) value from dual;
13.取符?
S:select sign(-8) value -1
O:select sign(-8) value from dual -1
14.圆周?
S:SELECT PI() value 3.1415926535897931
O:不知?
15.sin,cos,tan 参数都以弧度为单?
例如Qselect sin(PI()/2) value 得到1QSQLServerQ?
16.Asin,Acos,Atan,Atan2 q回弧度
17.弧度角度互换(SQLServerQOracle不知?
DEGREESQ弧?〉角?
RADIANSQ角?〉弧?
数值间比较
18. 求集合最大?
S:select max(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a
O:select greatest(1,-2,4,3) value from dual
19. 求集合最?
S:select min(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a
O:select least(1,-2,4,3) value from dual
20.如何处理null?F2中的null?0代替)
S:select F1,IsNull(F2,10) value from Tbl
O:select F1,nvl(F2,10) value from Tbl
21.求字W序?
S:select ascii('a') value
O:select ascii('a') value from dual
22.从序h字符
S:select char(97) value
O:select chr(97) value from dual
23.q接
S:select '11'+'22'+'33' value
O:select CONCAT('11','22') 33 value from dual
23.子串位置 --q回3
S:select CHARINDEX('s','sdsq',2) value
O:select INSTR('sdsq','s',2) value from dual
23.模糊子串的位|?--q回2,参数L中间%则返?
S:select patindex('%d%q%','sdsfasdqe') value
O:oracle没发玎ͼ但是instr可以通过W四个参数控制出现次?
select INSTR('sdsfasdqe','sd',1,2) value from dual q回6
24.求子?
S:select substring('abcd',2,2) value
O:select substr('abcd',2,2) value from dual
25.子串代替 q回aijklmnef
S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value
O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual
26.子串全部替换
S:没发?
O:select Translate('fasdbfasegas','fa','? ) value from dual
27.长度
S:len,datalength
O:length
28.大小写{?lower,upper
29.单词首字母大?
S:没发?
O:select INITCAP('abcd dsaf df') value from dual
30.左补I格QLPAD的第一个参Cؓ(f)I格则同space函数Q?
S:select space(10)+'abcd' value
O:select LPAD('abcd',14) value from dual
31.双I格QRPAD的第一个参Cؓ(f)I格则同space函数Q?
S:select 'abcd'+space(10) value
O:select RPAD('abcd',14) value from dual
32.删除I格
S:ltrim,rtrim
O:ltrim,rtrim,trim
33. 重复字符?
S:select REPLICATE('abcd',2) value
O:没发?
34.发音怼性比?q两个单词返回gP发音相同)
S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')
O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual
SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差
q回0-4Q?为同韻I1最?
日期函数
35.pȝ旉
S:select getdate() value
O:select sysdate value from dual
36.前后几日
直接与整数相加减
37.求日?
S:select convert(char(10),getdate(),20) value
O:select trunc(sysdate) value from dual
select to_char(sysdate,'yyyy-mm-dd') value from dual
38.求时?
S:select convert(char(8),getdate(),108) value
O:select to_char(sysdate,'hh24:mm:ss') value from dual
39.取日期时间的其他部分
S:DATEPART ?DATENAME 函数 Q第一个参数决定)(j)
O:to_char函数 W二个参数决?
参数---------------------------------下表需要补?
year yy, yyyy
quarter qq, q (季度)
month mm, m (m O无效)
dayofyear dy, y (O表星?
day dd, d (d O无效)
week wk, ww (wk O无效)
weekday dw (O不清?
Hour hh,hh12,hh24 (hh12,hh24 S无效)
minute mi, n (n O无效)
second ss, s (s O无效)
millisecond ms (O无效)
----------------------------------------------
40.当月最后一?
S:不知?
O:select LAST_DAY(sysdate) value from dual
41.本星期的某一天(比如星期日)(j)
S:不知?
O:SELECT Next_day(sysdate,7) vaule FROM DUAL;
42.字符串{旉
S:可以直接转或者select cast('2004-09-08'as datetime) value
O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;
43.求两日期某一部分的差Q比如秒Q?
S:select datediff(ss,getdate(),getdate()+12.3) value
O:直接用两个日期相减(比如d1-d2=12.3Q?
SELECT (d1-d2)*24*60*60 vaule FROM DUAL;
44.Ҏ(gu)差值求新的日期Q比如分钟)(j)
S:select dateadd(mi,8,getdate()) value
O:SELECT sysdate+8/60/24 vaule FROM DUAL;
45.求不同时区时?
S:不知?
O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;
-----时区参数,北京在东8区应该是Ydt-------
AST ADT 大西z标准时?
BST BDT 白o(h)h准时?
CST CDT 中部标准旉
EST EDT 东部标准旉
GMT 格林治标准旉
HST HDT 阿拉斯加?夏威h准时?
MST MDT 山区标准旉
NST U芬兰标准时?
PST PDT 太^z标准时?
YST YDT YUKON标准旉