教你解決整理SQL Server輸入的資料
我當前的專案中包括一個6200萬行、500多列的表。其中的資料來自SQL Server以外,它們到達的表中有一個標識主鍵,所有剩下的列以varchar(50)形式儲存。
問題解決
有許多日期以YYYYMMDD格式儲存,這是我注意到的第一個問題。我把這些日期改為整數列。然後我發現許多整數以varchar形式儲存,我把它們都改為整數。
接下來,許多列中包含“Y”或“N”或NULL。我們很可能會把它們轉換成位列,但這樣做存在一個重大的缺陷——你不能索引一個位列。因此,我把它們改成char(1) NULL。
此外,還有一些列中儲存有郵政編碼,前面一列為五個數字,後面一列為四個數字或NULL。我將它們分別改成char(5)和char(4),都為NULL。
我遇到的另外一個問題是,我無法明白相當一部分列中的內容。我把它們單獨處理,為varchar(50)。我希望確定每個varchar列中儲存的字串的最大長度,但要檢查6200萬行中的所有資料中不切實際的。因此,我選擇生成所有列的char或varchar列表。
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='tblArthurClean' AND DATA_TYPE IN('char','varchar') |
我複製結果表中的第一列,把它貼上到記事本中(這是我最喜歡的文字編輯器,因為它具有優秀的查詢-替換功能。)要確定一個特定列中的最長資料,使用下列指令碼:
SELECT Max(Len( ColumnName )) FROM TableName |
推而廣之,我希望遍歷列列表並生成我需要的宣告。我把需要的內容集中到一些格式化行中,用一個單獨的查詢來達到這個目的。
SELECT ',Max(Len( ' + COLUMN_NAME + ' )) AS ' + COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tblArthurClean' AND DATA_TYPE IN( 'char', 'varchar' ) |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-617509/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server資料庫附加錯誤的解決過程SQLServer資料庫
- SQL Server 資料庫無法重新命名的解決SQLServer資料庫
- 解決無法連線SQL Server資料庫的方法BWSQLServer資料庫
- SQL SERVER 資料庫被標記為“可疑”的解決辦法SQLServer資料庫
- 整理SQL SERVER資料頁checksum校驗演算法SQLServer演算法
- C++ 資料輸入cin (解決CLoin輸入中文程式出錯)C++
- SQL Server查詢慢的解決方案SQLServer
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- SQL Server常用函式整理SQLServer函式
- 教你如何解決SQL server中提示物件名無效SQLServer物件
- sql server資料庫連線失敗/無法附加解決過程SQLServer資料庫
- SQL server 修改表資料SQLServer
- 資料庫映象 (SQL Server)資料庫SQLServer
- SQL Server資料庫安全SQLServer資料庫
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- DbForge Studio for SQL Server入門教程:如何編輯資料SQLServer
- Excel資料匯入Sql Server,部分數字為NullExcelSQLServerNull
- 資料的輸入輸出
- MySql中表單輸入資料出現中文亂碼的解決方法MySql
- Blazor使用sql server 資料庫BlazorSQLServer資料庫
- SQL Server資料庫巡檢SQLServer資料庫
- sql server 2005資料庫快照SQLServer資料庫
- SQL Server收縮資料庫SQLServer資料庫
- sql server 資料庫收縮SQLServer資料庫
- SQL Server資料庫遷移SQLServer資料庫
- SQL Server-資料型別SQLServer資料型別
- 管理SQL Server資料庫安全SQLServer資料庫
- SQL Server 2016資料庫快照代理過程詳解SQLServer資料庫
- SQL Server 匯出Excel有換行的解決方法SQLServerExcel
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- SQL Server伺服器CPU爆高解決SQLServer伺服器
- SQL Server資料庫中Substring函式的用法例項詳解SQLServer資料庫函式
- 詳解SQL Server 2012資料庫備份與還原的教程SQLServer資料庫
- 如何解決SQL Server資料庫的軟硬體效能瓶頸OCSQLServer資料庫
- 解決Element UI 表格元件懶載入資料重新整理問題UI元件
- sql server 2005 資料修改的內部原理SQLServer
- SQL Server日期資料型別DATE的使用SQLServer資料型別
- dbForge Studio for SQL Server入門教程:如何連線到資料庫SQLServer資料庫
- DbForge Studio for SQL Server入門教程:如何從不同模式傳輸表SQLServer模式