原创 常見字符串函數

SUBSTRING函數作用:截取字符串語法:SUBSTRING(字符串,開始位置,長度)示例:SELECT SUBSTRING('牀前明月光疑是地上霜',3,5)結果:明月光疑是CHARINDEX函數作用:查找字符串的起始位置語法:CHAR

原创 索引(物化)視圖

索引(物化)視圖視圖的基礎知識什麼是視圖?視圖也稱爲虛擬表,標準視圖的結果集不是永久地存儲在數據庫中。每次查詢引用標準視圖時,SQL Server 都會在內部將視圖的定義替換爲該查詢,直到修改後的查詢僅引用基表。然後,它將照常運行所得到的查

原创 MySQL函數

標量函數實例1:mysql> create function LocateWords     -> (s CHAR(20),t CHAR(20))     -> RETURNS int(11)     -> return locate(t,

原创 學習測試:外鍵

--=======測試:外鍵=========-------=======Auther:Su=========-------=======Time:2015-06-26===-------=========================-

原创 行列互轉

定義:Pivot英文意思:迴轉運動PIVOT用於將列值旋轉爲列名(即行轉列),UNPIVOT用於將列名轉爲列值(即列轉行),也可以在SQL Server 2000可以用聚合函數配合CASE語句實現。語法:PIVOT和UNPIVOT的語法區別

原创 MySQL存儲過程

MySQL存儲過程和MSSQL的區別1. MSSQL的關鍵字procedure可以縮寫爲proc,而MySQL不能;2. MySQL參數要申明是in、out還是inout,而MSSQL不用;3. MySQL用CALL調用存儲過程,MSSQL

原创 MSSQL遷移到MYSQL

本人試圖將公司的數據庫由MSSQL遷移到MySQL,得到一下經驗傳聞:關係型數據庫遷移到非關係型數據庫很簡單,但是非關係型數據庫遷移到關係型數據庫非常難。選擇工具:試過SQLyog,發現配置也挺麻煩的。最終我選擇了Navicat Premi

原创 MySQL函數

標量函數實例1:mysql> create function LocateWords     -> (s CHAR(20),t CHAR(20))     -> RETURNS int(11)     -> return locate(t,

原创 行列互轉

定義:Pivot英文意思:迴轉運動PIVOT用於將列值旋轉爲列名(即行轉列),UNPIVOT用於將列名轉爲列值(即列轉行),也可以在SQL Server 2000可以用聚合函數配合CASE語句實現。語法:PIVOT和UNPIVOT的語法區別

原创 動態SQL(拼接)

Q1:什麼是動態SQL呢?A1:首先是SQL語句,是根據條件來拼接SQLQ2:爲什麼要用動態SQL?A2:因爲在條件WHERE中出現OR會導致不能使用索引,從而使效率差別巨大。   例如:如圖1、2,圖(1)圖(2)Q3:怎麼樣使用動態SQ

原创 查找存儲過程的執行頻率和時間

由於公司最近的數據庫服務器CPU非常不穩定。於是乎下手查找問題的來源。想了下,只能從存儲過程的執行狀態中下手。查了下資料,發現MSSQL中的系統表sys.dm_exec_procedure_stats會記錄存儲過程的執行狀態數據。字段含義就

原创 MySQL的安裝和使用

安裝MySQL 從MSSQL導數據到MySQL:用可視化工具SQLyog可參考:http://www.cnblogs.com/gaizai/p/3237907.html MySQL與MSSQL語法區別:區別MSSQLMySQL註釋單行註釋:

原创 MySQL存儲過程

MySQL存儲過程和MSSQL的區別1. MSSQL的關鍵字procedure可以縮寫爲proc,而MySQL不能;2. MySQL參數要申明是in、out還是inout,而MSSQL不用;3. MySQL用CALL調用存儲過程,MSSQL

原创 Merge Into

Merge IntoMERGE是Oracle 9i引入了的命令,類似於Mysql裏的insert into on duplicate key。在Oracle 10g中MERGE有些改進。Merge的用法:Merge可以完成以下功能: 1、兩

原创 ISNULL導致截斷字符串

先看下面的例子:DECLARE @A NVARCHAR(10),@B NVARCHAR(15) SET @B='ABCDEFGHIJKLMNO' SELECT ISNULL(@A,@B)返回的值是:'ABCDEFGHIJ'爲什麼不是返回'A