1. 1 將字符轉化成日期:
select cast(''2004-09-08'' as datetime) value
2. 2 是將系統時間天數加一:select dateadd(dd,1,getdate())
3. 3 下面是將前兩個進行整合: select dateadd(dd,-1, cast(''2004-09-08'' as datetime) )value
4. 4子查詢:select aa_test1.subject_area from
(select * from aa_test) aa_test1
5:sqlserver的分頁
select top 5 * from part
where partId not in
(select top 3 mt.partId from (select * from part) mt order by mt.partId)
5. 5.在sqlserver中實現Oracle的decode功能: SELECT MAPPING_ID,max(CASE WIDGET_TYPE WHEN 2 THEN INSTANCE_NAME END ) source_name,max(CASE WIDGET_TYPE WHEN 1 then instance_name end) target_name
from OPB_WIDGET_INST WHERE MAPPING_ID=2 GROUP BY MAPPING_ID
6. 6 實現時間到字符:select convert(char(19),getdate(),20) value 得到:2007-06-07 20:20:20
select convert(char(19),getdate()) value 得到:帶英語的字符
只取時分秒的字符:
select substring(convert(char(19),getdate(),20) ,12,8)value
7. 7 關於Oracle的分區查詢:SELECT T.USAGE_EVENT_ID, T.USAGE_TYPE_ID, T.ACCOUNT_ID, T.SVC_INST_ID, T.SI_COMP_SEQ FROM
BILL.T_USAGE_EVENTS_20070701
PARTITION (LATN534) T
而不是SELECT T.USAGE_EVENT_ID, T.USAGE_TYPE_ID, T.ACCOUNT_ID,歡迎光臨
學網,
收藏本篇文章 [1] [2]
$False$
T.SVC_INST_ID FROM
BILL.T_USAGE_EVENTS_20070701 T
PARTITION (LATN534)
注意表名放在最後。
8. 8 關於sql的觸發器:
創建:Create TRIGGER [testtest] ON [dbo].[part1]
FOR delete
AS
insert into partMapping values(2,9,3)
或者是:
修改:alter TRIGGER [testtest] ON [dbo].[part1]
FOR delete
AS
insert into partMapping values(2,9,3)
也就是在執行delete 表part1時,自動執行這個trigger,但是不支持truncate
9. sqlserver 實現與Oracle回退功能一樣的 兩個表.
Inserted 和 deleted ,但是他們這兩個表 是根據插入和刪除數據的不同而裡面的數據和數據類型不同.
―――――好像是不對。
10. 實現和Oracle相同的sequence 序列號的功能.
Identity (1,1)
create table bb ( tt int identity (1,1),bb char)
insert into bb (bb) values (''a'')
select * from bb 得到 結果, 就是不用插入那個自增的字段.
1 ,a