データベースユーティリティDaquanの(D)

 -以下の例では、異なる結果DATENAMEのCONVERT機能を、異なるロケール(SET言語)で実証します。
LANGUAGE {--set [N] '言語' |} @language_var 

使用マスター

-セッションのロケールセット:辞書英語
SET N'English LANGUAGE "
SELECT 
ザ・DATENAME(月、GETDATE())AS [月]、
DATENAME(平日、GETDATE())AS [平日]、
CONVERT(VARCHAR、GETDATE()、109)AS [CONVERT]
/ * -結果:
月平日CONVERT
------------- ---- ------------------------------- ----------
月カタログ火曜日に2005年3月15日20:59
- - * /

-セッションのロケールセット:簡体字中国語
言語セットN '簡体字中国語'
SELECT 
DATENAMEを(月、GETDATE())などの[月]、
DATENAME(平日、GETDATE())など[平日]、
CONVERT(VARCHAR、GETDATE()、109)AS [CONVERT]
/ * -結果
月間平日CONVERT
------------- --------------- -----------------------------------------
05木曜日05192005午前2時49分: 20:607PMの
日時@dt DECLARE
SET @ DT = GETDATE()

--1。短い日付形式:YYYY-MD、 "-0"との背中が' - '、Nが何を意味するか理解していない
SELECTは、REPLACE(CONVERT(VARCHAR(10 )、@ DT、120)、N'-0 '' - 「)

--2。長い日付形式:MM-DD-YYYY日
。-A-方法
を選びなさい-ものがある(「123456」、2,3,2233);結果:;第3の位置バック番号への第2の位置から、 。とも
SELECT STUFFがある+ N '日'(。STUFFは(CONVERT(CHAR(8)、@ DT、112)を、5,0、N '年')、8,0、N '月'です)
B.方法-
SELECT DATENAME(年、@ DT) + N ' の' + DATENAME(月、@ DT )+ N ' 月' + DATENAME(日、@ DT )+ N ' の日'

--- 3。長い日付形式:m月におけるYYYY D日
SELECT DATENAME(年、@ DT) + N ' + CAST(DATEPART(月、の' @ DT)varchar型AS)+ N ' 月' + DATENAME(日、@ DT )+ N ' の日'

- 4.完全日+時刻形式:YYYY-MM-DD HH:MIザ:SS:MMMは
CONVERT(CHAR(11)、@ DT、120)+ CONVERT(CHAR(12)と、@ DT、114)を選択
2、SQL接続EXCELは、Excelデータを確認
* OPENDATASOURCE SELECT( 'Microsoft.ACE.OLEDB.12.0'、 'データソース= D:\ 10W.xlsx;拡張プロパティ= 12.0エクセル')から... [Sheet1の$]  

。3、送信データEXCLE SQL、新しいテーブル構築するためのデータ伝送
2.3.1 OpenDataSourceメソッドモードを
OPENDATASOURCEから[0111121]に*を選択し ( 'Microsoft.Ace.OleDB.12.0'、 'データソース= D:\ 10W.xlsx;拡張プロパティ=エクセル12.0') ... [Sheet1の$]  
注:D:\ 10W.xlsx、SQLテーブルへの情報のSheet1の[0111121]、[0111121]新しいテーブルと
同じ効果以下の
OpenDataSourceをSELECT * FROM
( 'Microsoft.ACE.OLEDB.12.0'、 'ソースデータ= D:; "エクセル12.0; HDR = NO; IMEX = 1" \ 10w.xls =プロパティを拡張')... [Sheet1の$]
HDR = Yesまたは最初の列はNOラインがマークされているかどうかを示します。
2.3.2のOpenRowSet実施形態
SELECT *のOpenRowSetから
( 'Microsoft.ACE.OLEDB.12.0'、 'エクセル12.0; HDR =はい; IMEX = 1;データベース= D:\ 10w.xls'、」SELECT *から[Sheet1の$] ') 

のOpenRowSetからSELECT *
\ 10w.xls'、[シート1 $]):= 1 HDRデータベース= D =はい;; IMEX; Microsoft.ACE.OLEDB.12.0 ''エクセル12.0('  

4、データEXCLE。書き込みのSQLテーブル(同じ値が元のテーブル)
形式は、同じテーブルが必要
2.4.1のOpenRowSet的
INSERT INTO [0111121] 
のOpenRowSet SELECT * FROM
( 'Microsoft.ACE.OLEDB.12.0'、「エクセル12.0。 HDR =はい; IMEX = 1;   データベース= D:\ 10w.xls'、[Sheet1の$])
注:D:\ 10W.xlsx、情報をSQLテーブルシート1に追加される[0111121]、元のSQLで[0111121]本。
2.4.2 OPENDATASOURCEの実施形態
INSERT INTO [0111121]
SELECT * OPENDATASOURCEから( 'Microsoft.ACE.OLEDB.12.0'、 'データソース= D:\ 10W.xlsx;拡張プロパティ= 12.0エクセル')... [Sheet1の$]

5、データベースのエクスポート、インポートBCP(OK)
-データベースファイルからの輸出データが混在する、cはフィールドタイプで、小文字にしてください、大文字間違いました。共有フォルダにあります配置する必要があります。

EXECはmaster..xp_cmdshell: 'BCPのtest.dbo dの結果をOUT \テスト\ 123.txt -c -S "PC2011061511NRV" -U "SA" -P "30687724"。'


-彼らはデータの行を検索します:追加したりするにはQUERYOUTIN queryout
EXEC master..xp_cmdshell 'BCP "SELECT * test.dbo実績から" queryoutさd:\テスト\ 123.xls -c -S "PC2011061511NRV" -Uは"SA" -P "30687724"'

- ---------------------------------------

-ユーザー名またはIP缶を持つファイル対応表へのデータベースからデータをインポートし、-U。「-Q」を行うかどうかだろう、-qはスペースまたは単一引用符の名前が含まれているデータベースを指定することで、あなたは、-qオプションを使用する必要があります:
EXECがd :. \テスト\ 123で」BCPのtest.dbo結果をmaster..xp_cmdshell 。 XLS -c -q -S「127.0.0.1」-U 「SA」-P「30687724」 "

注:XLSXための上記の方法(オープンはそう、理解していない)、CSV(これは徹底的に理解していない分割する)ファイルまた、サポートされています。通常TXTと、XLS小さなファイルを使用することができます。50Wは死んで、5秒のためにそれをコピーします。

TXTファイルの場合、好ましくはフォーマット要件:「テキスト(タブ区切り)」と元のテーブルデータ型要件「VARCHAR(50)は、」
EXEC「はDにおけるBCPのtest.dbo.book1をmaster..xp_cmdshell。 \テスト\ yh_2010-03-2 \ 2010年3月2日\ 2010-3-2.txt -t "\トン" -c -S "127.0.0.1" -U "SA" -P "30687724" "


があればどのような次のように入力します。有効にするよう求めている:

-テストのEXEC sp_configureのは、 '高度なオプションを表示' 1; RECONFIGURE; EXEC sp_configureの'xp_cmdshellを'、1; RECONFIGURE;






OVERRIDE WITH RECONFIGURE
GO
EXECます。sp_configure 'xp_cmdshellを'、1
GO
RECONFIGURE WITHのOVERRIDE
GO
EXEC sp_configureを'高度なオプションを表示'、0
GO
RECONFIGURE WITHオーバーライド 
-关闭xp_cmdshellを 
使用マスター
GO
EXEC sp_configureを'高度なオプションを表示'、1
GO
RECONFIGURE WITHオーバーライド
GO
EXEC sp_configureの'xp_cmdshellを'、0
GO
RECONFIGURE WITH OVERRIDEの
GO
EXECのsp_configureの、0 '高度なオプションを示して'
GO
RECONFIGURE WITH OVERRIDEの

7、BULK INSERT导入を法
INSERT test.dbo.book1 BULKから'D:\テスト\ yh_2010-03-2 \ 2010年3月2日\ 2010-3-2.txt'  
WITHを(  
  FIELDTERMINATOR = '\ T'、  
  ROWTERMINATOR = '\ N-'  

「テキスト(タブ区切り)」:TXTファイル、好ましく形式要件の場合
公開された10元の記事 ウォンの賞賛0 ビュー10000 +

おすすめ

転載: blog.csdn.net/lwbsleep/article/details/7209071