由於專案前後用了2個資料庫,需要統計資料庫結構的變化,需要統計每個表的變化,由於人工核對挺浪費時間,就寫了一點**:
1.統計表的字段數量(查詢表有多少列):
select count(name) from syscolumns where id=object_id('表名')
eg:selectcount(name) from syscolumns where id=
object_id('
t_dk
')
2.查詢資料庫欄位名 (表有哪些字段)
select name
from 資料庫名.dbo.syscolumns
where id=(
select id from 資料庫名.dbo.sysobjects
where name='表名'
)eg:
1select
name 23
from
catsic_compare0803dilong_2017080311.dbo.syscolumns 45
where id=(6
7select id from catsic_compare0803dilong_2017080311.dbo.sysobjects where name=
't_cbjzc'8
9 )
3.比較兩個資料庫相應表的差異(查詢表對應的字段是否一致)
本部分是基於2寫的:
select * from (
select name
from 資料庫a.dbo.syscolumns
where id=(
select id from 資料庫a.dbo.sysobjects
where name='表名a')
) t1 full outer join(
select name from 資料庫b.dbo.syscolumns
where id=(
select id from 資料庫b.dbo.sysobjects
where name='表b'
)) t2 on t1.name=t2.name
eg:
1select
*from(2
select
name
3from
catsic_compare0803dilong_2017080311.dbo.syscolumns
4where id=(5
select id from
catsic_compare0803dilong_2017080311.dbo.sysobjects
6where name=
't_cbjzc')
7 ) t1 full
outer
join(8
select name from
catsicgl_43_2016eroad_2017111110.dbo.syscolumns
9where id=(10
select id from
catsicgl_43_2016eroad_2017111110.dbo.sysobjects
11where name=
't_cbjzc'12
)13 ) t2 on t1.name=t2.name
只顯示字段欄位名有差異的字段,增加乙個條件即可where t1.name is null or t2.name is null
即全部code:
1select
*from(2
select
name
3from
catsic_compare0803dilong_2017080311.dbo.syscolumns
4where id=(5
select id from
catsic_compare0803dilong_2017080311.dbo.sysobjects
6where name=
't_cbjzc')
7 ) t1 full
outer
join(8
select name from
catsicgl_43_2016eroad_2017111110.dbo.syscolumns
9where id=(10
select id from
catsicgl_43_2016eroad_2017111110.dbo.sysobjects
11where name=
't_cbjzc'12
)13 ) t2 on t1.name=
t2.name
1415
where t1.name is
null
or t2.name is
null
SQL Server比較2table欄位的差異
由於專案前後用了2個資料庫,需要統計資料庫結構的變化,需要統計每個表的變化,由於人工核對挺浪費時間,就寫了一點 1.統計表的字段數量 查詢表有多少列 select count name from syscolumns where id object id 表名 eg select count nam...
SQL Server 中日期比較
1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff...
Oracle與SQL Server的比較
microsoft sql server針對oracle最強一點就是產品成本相對低廉。sql server企業版的成本要遠遠低於oracle企業版資料庫的成本。在增加像表分割槽 壓縮 聯機分析處理olap等等功能元件後,再進行對比則將更直觀。更不用說你必須為企業sku購買這些附加功能元件。如果你想在...