Ⅰ 我是菜鳥,問一下,如何把xls表格中的數據導入到sqlserver的表中啊
SSIS或者直接在SQL里選擇任務,導入數據,做好Mapping就好了
Ⅱ 求助:關於sqlserver的若乾菜鳥問題
1 首先糾正樓主的語法,應該是這么寫的
declare @var1 int
declare @var2 nvarchar(50)
declare @var3 datetime
sql server 也沒有date類型,只有datatime或者smalldatetime 兩種時間類型
聲明變數不賦值,或者像樓主說的那種情況,變數的值,都是null
2 用拼字元串的方式
where ColumnName like '''%' + @str + '%'''
3 if @var is null 或者 if @var is not null --判斷null值
if @var = '' 或者 len(@var) = 0 --判斷空字元串
if len(rtirm(@var)) = 0 --判斷變數里是否除了空格之外沒有其他字元
4 沒看懂你的意思,但是就你舉得例子來看,語句里些的雖然是字元型,但是資料庫會自動轉換成datetime類型來執行的。
比如給一個datetime類型的變數賦值:
declare @date datetime
select @date = '2011-11-11'
Ⅲ 關於SQLServer的一個問題
在安裝文件夾下的Microsoft SQL Server->MSSQL->Data里。有兩個文件,一個是你做的表的名字,mdf格式的,還有一個表_log文件,ldf格式的。一起考出去就行了。但是必須在安裝SQL Server的機器上,而且先要把這兩個文件附加進去以後才能打開的。
Ⅳ sqlserver 存儲過程 菜鳥求助 非技術性問題很簡單
關於 set ANSI_NULLS ON
當 SET ANSI_NULLS 為 ON 時,如果比較中有一個或多個表達式為 NULL,則既不輸出 TRUE 也不輸出 FALSE,而是輸出 UNKNOWN。這是因為未知值不能與其他任何值進行邏輯比較。這種情況發生在一個表達式與 NULL 單詞進行比較,或者兩個表達式相比,而其中一個表達式取值為 NULL 時。
關於 set QUOTED_IDENTIFIER ON
當 SET QUOTED_IDENTIFIER 為 ON 時,標識符可以由雙引號分隔,而文字必須由單引號分隔。當 SET QUOTED_IDENTIFIER 為 OFF 時,標識符不可加引號,且必須符合所有 Transact-SQL 標識符規則。有關詳細信息,請參閱標識符。文字可以由單引號或雙引號分隔。
當 SET QUOTED_IDENTIFIER 為 ON(默認值)時,由雙引號分隔的所有字元串都被解釋為對象標識符。因此,加引號的標識符不必符合 Transact-SQL 標識符規則。它們可以是保留關鍵字,並且可以包含 Transact-SQL 標識符中通常不允許的字元。不能使用雙引號分隔文字字元串表達式,而必須用單引號括住文字字元串。如果單引號 (') 是文字字元串的一部分,則可以由兩個單引號 (") 表示。當對資料庫中的對象名使用保留關鍵字時,SET QUOTED_IDENTIFIER 必須為 ON。
當 SET QUOTED_IDENTIFIER 為 OFF 時,表達式中的文字字元串可以由單引號或雙引號分隔。如果文字字元串由雙引號分隔,則可以在字元串中包含嵌入式單引號,如省略號。
當在計算列或索引視圖上創建或更改索引時,SET QUOTED_IDENTIFIER 必須為 ON。如果 SET QUOTED_IDENTIFIER 為 OFF,則計算列或索引視圖上帶索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 語句將失敗。有關計算列的索引視圖和索引所必需的 SET 選項設置的詳細信息,請參閱 SET (Transact-SQL) 中的「使用 SET 語句時的注意事項」。
在進行連接時,SQL Server Native Client ODBC 驅動程序和 SQL Server Native Client OLE DB Provider for SQL Server 自動將 QUOTED_IDENTIFIER 設置為 ON。這可以在 ODBC 數據源、ODBC 連接特性或 OLE DB 連接屬性中進行配置。對來自 DB-Library 應用程序的連接,SET QUOTED_IDENTIFIER 默認設置為 OFF。
創建表時,即使此時將 QUOTED IDENTIFIER 選項設置為 OFF,該選項在表的元數據中仍始終存儲為 ON。
創建存儲過程時,將捕獲 SET QUOTED_IDENTIFIER 和 SET ANSI_NULLS 設置,並用於該存儲過程的後續調用。
在存儲過程內執行 SET QUOTED_IDENTIFIER 時,其設置不更改。
當 SET ANSI_DEFAULTS 為 ON 時,將啟用 SET QUOTED_IDENTIFIER。
SET QUOTED_IDENTIFIER 還與 ALTER DATABASE 的 QUOTED_IDENTIFER 設置相對應。有關資料庫設置的詳細信息,請參閱 ALTER DATABASE (Transact-SQL) 和設置資料庫選項。
SET QUOTED_IDENTIFIER 是在分析時進行設置的。在分析時進行設置意味著:SET 語句只要出現在批處理或存儲過程中即生效,與代碼執行實際上是否到達該點無關;並且 SET 語句在任何語句執行之前生效。
關於 ALTER PROCEDURE [dbo].[sp_XXXX] (這句不明白)
這個是 修改 存儲過程 [dbo].[sp_XXXX]
DECLARE @sql NVARCHAR(4000)
這個是定義一個變數 名稱為 @sal 數據類型為 NVARCHAR(4000)
Ⅳ 菜鳥請問sqlserver視圖不顯示數據的問題
您好:
SQL Server中視圖是通過查詢語句定義的。
所以如果沒有數據。
首先請檢查視圖的定義語句是否正確。
然後檢查數據表中是否存在數據,且數據正確。
最後請檢查查詢視圖的SQL語句是否正確。
謝謝。
Ⅵ SQLServer菜鳥篇小說txt全集免費下載
SQLServer菜鳥篇 txt全集小說附件已上傳到網路網盤,點擊免費下載:
Ⅶ 怎麼把SQLServer里邊的表在WINFORM的dataGridView里橫過來,菜鳥求高手指教
讀取Sql裡面的數據,添加到數據集,數據表
遍歷數據錶行的數據,添加到dataGridView1.Columns.Add 列中去
再遍歷數據表中列名,添加到dataGridView1.Rows.Add 行
其實這樣處理不是很好。
最好的方法還是在資料庫中操作,進行行轉列,列轉行
希望下面的例子能給你幫組
其實就是行轉列的問題 網上有很多的實例
問題:假設有張學生成績表(tb)如下:
姓名 課程 分數
張三 語文 74
張三 數學 83
張三 物理 93
李四 語文 74
李四 數學 84
李四 物理 94
想變成(得到如下結果):
姓名 語文 數學 物理
---- ---- ---- ----
李四 74 84 94
張三 74 83 93
答案:
if object_id('[tb]')is not null drop table tb;
create table tb(姓名varchar(10) , 課程varchar(10) , 分數int)
insert into tb values('張三' , '語文' , 74)
insert into tb values('張三' , '數學' , 83)
insert into tb values('張三' , '物理' , 93)
insert into tb values('李四' , '語文' , 74)
insert into tb values('李四' , '數學' , 84)
insert into tb values('李四' , '物理' , 94)
-- SQL SERVER 2000 靜態SQL。
指課程只有語文、數學、物理這三門課程。(以下同)
select 姓名as 姓名,
max(case 課程when '語文' then 分數else 0 end) 語文,
max(case 課程when '數學' then 分數else 0 end) 數學,
max(case 課程when '物理' then 分數else 0 end) 物理
from tb
group by 姓名
-- 利用函數:pivot()SQL2005。
SELECT *
FROM tb PIVOT ( SUM(分數) FOR [課程] IN ( 語文, 數學, 物理) ) AS P
-- SQL SERVER 2000 動態SQL。
指課程不止語文、數學、物理這三門課程。(以下同、通用代碼)
declare @sql varchar(8000)
set @sql = 'select 姓名'
select @sql = @sql + ' , max( case 課程 when ''' + 課程+ ''' then 分數 else 0 end) as [' + 課程+ ']'
from (select distinct 課程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql)
/*
姓名 數學物理語文
李四 84 94 74
張三 83 93 74*/
-- SQL SERVER 2005 靜態SQL。
select * from (select * from tb) a pivot (max(分數) for 課程in (語文,數學,物理)) b
-- SQL SERVER 2005 動態SQL。
declare @sql varchar(8000)
select @sql = isnull(@sql + ',' , '') + 課程 from tb group by 課程
exec ('select * from (select * from tb) a pivot (max(分數) for 課程in (' + @sql + ')) b')
方法 2:
declare @s nvarchar(4000)
set @s=''
Select @s=@s+','+quotename([課程])+'=max(case when [課程]='+quotename([課程],'''')+' then [分數] end)'
from tb group by課程
exec('select '+@s+' from tb ')
Ⅷ (菜鳥求助)ASP.NET(C#),sqlserver存儲過程實現郵件自動提醒功能!!!
首先想說的是,存儲過程中好像無法發送郵件吧。
其次最好的方案是在服務端建立一個 windows服務。此服務定時去檢查你所說的表的時差和狀態。之後調用發送郵件方法。
Ⅸ 菜鳥求教,在sqlserver的查詢窗口怎麼得到當前日期如update time set time= 等號後面怎麼寫
update time set time = sysdate;這樣你就可以獲得當前日期,你可以試試,這樣是不是你要的效果
Ⅹ sqlserver的master資料庫還原的具體問題(我是菜鳥)
單用戶模式,斷開網路連接,只你一個連接SQL
命令提示符,開始,運行,輸入CMD回車