在SQL Server中預設對大小寫是不敏感的,例如userName='jesse'和userName='JESSE'結果是一樣的。在驗證密碼的時候可能就需要對字串大小寫敏感,需要做一些處理,介紹兩種方法: 法Ⅰ:轉換成二進位再比較,由於大小寫ASC碼不同。例如: select * from T_User where cast(field as varbinary) = cast( 'Admin' as
在執行建庫指令碼時,往往會先將原有的資料庫drop掉,由於SqlServer檢測到有資料連線時禁止執行drop database操作,所以建庫指令碼經常執行失敗,為此我們需要一種能強制斷開資料庫已有串連的方法,可以過如下t-sql實現:declare @i int declare cur cursor for select spid from sysprocesses where db_name(dbid)= 'Your_Database_Name' open cur fetch
要求取得字串aa,dd,cc,rr,fff中某個位置的字串,如果在C#或Java很容易通過Split來實現,但是在Sql Server中就沒有直接提供Split這個函數。當然,此類問題總是可以解決的。ALTER function [dbo].[core_split] ( @str varchar(100), @split char(1), @index int ) returns varchar(10) as begin declare @count int declare @s
有時候我們想通過一個值知道這個值來自資料庫的哪個表以及哪個欄位,在網上搜了一下,找到一個比較好的方法,通過一個預存程序實現的。只需要傳入一個想要尋找的值,即可查詢出這個值所在的表和欄位名。 前提是要將這個預存程序放在所查詢的資料庫。 CREATE PROCEDURE [dbo].[SP_FindValueInDB] ( @value VARCHAR(1024) ) AS BEGIN -- SET NOCOUNT ON added to prevent extra
錯誤記錄檔 安裝時出現了如下錯誤:SQL Server 2005 安裝錯誤碼29503。產品: Microsoft SQL Server 2005-- 錯誤 29503。SQL Server 服務無法啟動。有關詳細資料,請參閱 SQL Server 聯機叢書中的主題“如何查看 SQL Server 2005 安裝記錄檔”和“手動啟動 SQL Server”。詳情看圖: 錯誤原因 多核cpu安裝sql server2005
把sqlserver中的預存程序注釋後建立到mysql中 #!/usr/bin/perl use DBI; use Switch; use Encode; use Encode::CN; my $source_name = "sqldb"; my $source_user_name = "sa"; my $source_user_psd = "123"; my
給sqlserver中的表建立索引 #!/usr/bin/perl use DBI; use Switch; use Encode; use Encode::CN; # my $source_name = "zoe"; # my $source_user_name = "sa"; # my $source_user_psd = "123"; # my
Sqlserver資料庫分頁查詢一直是Sqlserver的短板,閑來無事,想出幾種方法,假設有表ARTICLE,欄位ID、YEAR...(其他省略),資料53210條(客戶真實資料,量不大),分頁查詢每頁30條,查詢第1500頁(即第45001-45030條資料),欄位ID叢集索引,YEAR無索引,Sqlserver版本:2008R2 第一種方案、最簡單、普通的方法: 複製代碼代碼如下: SELECT TOP 30 * FROM ARTICLE WHERE ID NOT
安裝好Ms Sql Server 2005後,還真有些不習慣。因為之前一直使用sql server 2000,發現sql server 2005在很多地方做了改動,有時一個小小的功能要找老半天。今天因為需要做其他處理工作,停用sql server 2005服務以減少記憶體開銷,這個也不是第一次這樣做了,我一般都是通過Sql Server Management Studio來做的。以前大概停了服務後,也沒有直接推出Sql Server