Time of Update: 2017-01-19
一、出錯情況 有些時候當你重啟了資料庫服務,會發現有些資料庫變成了正在恢複、置疑、可疑等情況,這個時候DBA就會很緊張了,下面是一些在實踐中得到證明的方法。
Time of Update: 2017-01-19
兩張表 組織架構表(Organise) 和 工資發放記錄表 (WagePerMonthHis) 兩張表通過 Organise.Item_id 和 WagePerMonthHis.OrgIdS 進行關聯 Organise表(以下簡稱O表)中大約有6000條記錄11個欄位 ,WagePerMonthHis(以下簡稱W表)計有 125萬條記錄 和 25個欄位 原程式中一段如下的語句 是查詢所有不在W表的組織架構層級為2的記錄 複製代碼 代碼如下: select OrgId as
Time of Update: 2017-01-19
在附加資料庫後查看不了資料庫圖表,也無法建立資料庫圖表 我的解決方案如下: 1、設定相容層級為90(2005為90)(2000為80) 複製代碼 代碼如下: USE [master] GO EXEC dbo.sp_dbcmptlevel @dbname='資料庫名', @new_cmptlevel=90 GO [這條命令執行完畢:報“DBCC 執行完畢。如果 DBCC
Time of Update: 2017-01-19
sql server 全文檢索索引有兩種搜尋方式,一種是contains,另一種是freetext。前者是包含,類似於 like '%關鍵詞%',後者則是將一段文字分詞以後對每個詞進行搜尋。 具體文法: contains: SELECT 欄位1,欄位2 FROM 表名 WHERE contains(欄位,'"詞一" or "詞二"') 根據尋找結果的相似性排序 SELECT 欄位1,欄位2 FROM 表名 inner join containstable(表名, 欄位,'"詞一" or "詞二"
Time of Update: 2017-01-19
isnull在資料庫查詢中的應用,特別是再語句串連的時候需要用到 比如串連時候,某個欄位沒有值但是又要左串連到其他表上 就會顯示空, isnull可以判斷是否是NULL,如果是給個預設值 isnull("欄位名","預設的資料") SqlServer中的null值與IsNull函數NULL 值的三大特點,分別是:1)NULL值不參加統計;2)NULL值不進入計算運算式;3)不能與其它值進行比較。 所謂NULL值不參加統計 即 在使用統計函數時,凡是涉及到
Time of Update: 2017-01-19
1,exists和in的理解(參考http://www.jb51.net/article/28922.htm) exists:如果子查詢中包括某一行,那麼就為TRUE in:如果運算元為TRUE等於運算式列表中的一個,那麼就為TRUE exists總是搞得不太明白 select 。。。from。。。where 。。。 where就相當於一個判斷條件,只有where後面的運算式運算結果為TRUE,前面的才能select出來
Time of Update: 2017-01-19
複製代碼 代碼如下: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* by kudychen 2011-9-28 */ CREATE function [dbo].[SplitString] ( @Input nvarchar(max), --input string to be separated @Separator nvarchar(max)=',', --a string that delimit the substrings
Time of Update: 2017-01-19
下面是我已經證實可用的自動備份的方法. 1、開啟企業管理器->管理->sql server代理 2、建立一個作業,作業名稱隨便取,例如:data備份,所有者選擇sa,當然你也可以選擇其他使用者,前提是該使用者有執行作業的許可權; 3、點擊步驟標籤,進入步驟面板.建立步驟,步驟名可以隨便填寫,如步驟1,類型和資料庫預設,不需要修改.命令中寫入以下語句: BACKUP DATABASE [資料庫名] TO DISK = N'F:\\databack\\firenews備份' WITH
Time of Update: 2017-01-19
編號標準宗地編碼(landCode)所在區段編碼(sectCode)1131001BG001G0012131001BG002G0013131001BG003G0014131001BG004G0025131001BG005G003現在需要將表中的資料轉換為如下表所示結果:編號區段編碼包含的標準宗地1G001131001BG001,131001BG002,131001BG0032G002131001BG0043G003131001BG005在SQL
Time of Update: 2017-01-19
Author: Wenlong Wu 一、針對MS SQL SERVER資料庫 有兩種解決方案,如下: 修改php.ini來實現: 開啟php.ini,可看到mssql.textsize,mssql.textlimit兩個選項: ; Valid range 0 - 2147483647. Default = 4096. ;mssql.textlimit = 4096 ; Valid range 0 - 2147483647. Default = 4096. ;
Time of Update: 2017-01-19
一、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 返回跨兩個指定日期的日期和時間邊界數。 select datediff(day,'2004-09-01','2004-09-18')
Time of Update: 2017-01-19
複製代碼 代碼如下:CREATE FUNCTION f_Convert( @str NVARCHAR(4000), --要轉換的字串 @flag bit
Time of Update: 2017-01-19
很多朋友問到sql server資料庫”產生指令碼”,只匯出了資料庫的sql指令碼,而表裡的資料依然沒有匯出來。很簡單,看教程:註:我這裡用的SQLServer2008,其它版本應該差不多。一、選中要匯出的資料庫–>任務–>產生指令碼(或者在任務裡面有產生指令碼這個選項,好好找找能找到的!) 二、出現“產生和發布指令碼”視窗,點擊下一步 三、選擇要編寫指令碼的資料庫物件,全部匯出選第一個,如果你想匯出部分資料勾選
Time of Update: 2017-01-19
1.子查詢概念 (1)就是在查詢的where子句中的判斷依據是另一個查詢的結果,如此就構成了一個外部的查詢和一個內部的查詢,這個內部的查詢就是自查詢。 (2)自查詢的分類 1)獨立子查詢 ->獨立單值(標量)子查詢(=) 複製代碼 代碼如下: Select testID,stuID,testBase,testBeyond,testPro from Score where stuID=( select stuID from Student where stuName='Kencery' )
Time of Update: 2017-01-19
1.Case函數的用法 (1)使用類似:switch-case與if-else if。 (2)文法: case [欄位] when 運算式 then 顯示資料 when 運算式 then 顯示資料 else 顯示資料 end (3)百分制轉換素質教育 1)如圖:我們要將顯示的資料轉換成ABCDE,規則是90分以上顯示A,80分以上顯示B,以此類推。 2)執行的SQL語句是:複製代碼 代碼如下: Select ID,
Time of Update: 2017-01-19
SQL Server遍曆表一般都要用到遊標,SQL Server中可以很容易的用遊標實現迴圈,實現SQL Server遍曆表中記錄。本文將介紹利用使用表變數和遊標實現資料庫中表的遍曆。 表變數來實現表的遍曆 以下代碼中,代碼塊之間的差異已經用灰色的背景標記。 複製代碼 代碼如下: DECLARE @temp TABLE ( [id] INT IDENTITY(1, 1) , [Name] VARCHAR(10) ) DECLARE @tempId INT , @tempName VARCHAR(
Time of Update: 2017-01-19
今天為了實現SQLServer/" target="_blank">sqlserver的複製功能,因為以前刪除了很多的sqlserver的一些會導致不安全因素的擴充,導致很多功能無法用,沒有辦法需要重新的恢複擴充。 曾經遇過,差點抓狂,有裝MSSQL的朋友,趕緊試一下,刪除以下的組件.當然,前提是你要把自己的資料庫搞定後再去刪除,否則組件刪除後很多功能不能用,為了安全,就得犧牲某些功能,當然,像我這類的,我除了把MSSQL匯入後,基本上一年用不到兩次,所以,我是會毫不猶豫地刪除,嘿. 一,
Time of Update: 2017-01-19
有在論壇上看到一帖,《請教查詢出連續日期記錄的方法》,截圖如下:Insus.NET嘗試寫了程式並做了測試,可以得到預期的結果,SQL代碼可參考和學習之用。 複製代碼 代碼如下: --建立一個暫存資料表,將會儲存連續日期的記錄 CREATE TABLE #temp (IDD VARCHAR(10),SDATE DATETIME) DECLARE @sD DATETIME --開始日期 DECLARE @eD DATETIME --結束日期 --在記錄中,找出開始與結束日期 SELECT @sD =
Time of Update: 2017-01-19
複製代碼 代碼如下: --新增表欄位 ALTER procedure [dbo].[sp_Web_TableFiled_Insert] ( @TableName varchar(100), @FieldName varchar(100), @FieldExplain varchar(200), @DataType varchar(100), @ConnectTableName varchar(100), @FieldLength int, @NewsID int output ) as
Time of Update: 2017-01-19
代碼如下: 複製代碼 代碼如下: ///<summary> /// 將兩個列不同的DataTable合并成一個新的DataTable ///</summary> ///<param name="dt1">源表</param> ///<param name="dt2">需要合并的表</param> ///<param name="primaryKey">需要排重列表(為空白不排重)</param> //