分類彙整:MSSQL

MSSQL 時間戳記與日期格式轉換

時間戳記轉日期格式 SELECT DATEADD(S, Column, ’1970-01-01 08:00:00′) 日期格式轉時間戳記 SELECT DATEDIFF(S, ’1970-01-01 08:00:00′, Column)

發表於 MSSQL | 發表迴響

SQL語法查詢資料庫的資料表,資料表的欄位名,資料表的PK欄位

查詢DB所有的資料表 SELECT * FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME 查詢資料表欄位資訊 SELECT * FROMINFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ‘TableName’ 查詢資料表的PK欄位 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = ‘TableName’

發表於 MSSQL | 發表迴響

資料庫定序衝突

無法解析 equal to 作業中 "Chinese_Taiwan_Stroke_BIN" 與 "Chinese_Taiwan_Stroke_CI_AS" 之間的定序衝突 當 Join 查詢兩個以上不同的資料庫,其定序不一致時就會發生這項錯誤 解決方法: SELECT * FROM DB1.dbo.table1 A, DB2.dbo.table2 B WHERE A.PK1 = (B.PK1 COLLATE Chinese_Taiwan_Stroke_BIN)

發表於 MSSQL | 發表迴響

PHP:連線MS-SQL資料庫

發表於 MSSQL, PHP | 發表迴響

MSSQL:時間格式轉換

SELECT convert(varchar, getdate(), 100) mon dd yyyy hh:mmAM (or PM) Oct 2 2008 11:01AM SELECT convert(varchar, getdate(), 101) mm/dd/yyyy – 10/02/2008 SELECT convert(varchar, getdate(), 102) yyyy.mm.dd – 2008.10.02 SELECT convert(varchar, getdate(), 103) dd/mm/yyyy SELECT convert(varchar, getdate(), 104) dd.mm.yyyy SELECT convert(varchar, … 繼續閱讀

發表於 MSSQL | 發表迴響

MSSQL:識別資料行其外顯值只有當使用了資料行清單且 IDENTITY_INSERT 為 ON 時才能指定。

透過SQL語法INSERT資料時,因為目標資料表具有識別欄位(自動遞增),而SQL的指令中也包含了該欄位,因此只要在SQL中去除此欄位讓資料庫自行處理該欄位值即可。 也就是INSERT指令中,不要包含具有自動編號的識別欄位。 若要自行增加識別欄位值,請開啟 IDENTITY_INSERT SET IDENTITY_INSERT TableName ON e.x. INSERT INTO TableName (Id,Name,Gender) VALUES (5,’John’,’m’); Id:為識別欄位

發表於 MSSQL | 發表迴響

MSSQL將查詢結果加上序號(ROW_NUMBER,RANK,DENSE_RANK)

ROW_NUMBER依指定的欄位排序,並逐筆加上流水號ROWID SELECT  ROW_NUMBER() OVER(ORDER BY CustomerID) AS ROWID ,* FROM Orders RANK依指定的欄位排序,相同的資料流水號相同,下一筆不同資料的流水號會【跳脫】 SELECT  RANK() OVER(ORDER BY CustomerID) AS ROWID ,* FROM Orders DENSE_RANK依指定的欄位排序,相同的資料流水號相同,下一筆不同資料的流水號會【不跳脫】 SELECT  DENSE_RANK() OVER(ORDER BY CustomerID) AS ROWID ,* FROM Orders 分頁範例 SELECT * FROM ( SELECT ROW_NUMBER() … 繼續閱讀

發表於 MSSQL | 發表迴響

將 mssql datetime 利用PHP 轉換日期格式

$row['Birthday']->format(‘Y-m-d’) ; date_format($row['Birthday'], ‘Y-m-d’) ;  

發表於 MSSQL, PHP | 發表迴響

在MS SQL Server中實現MySQL limit的做法

在MS SQL Server中,雖然有top的用法,但要做到像MySQL那樣,有 limit 1, 100 這種做法,下列是一種方式: SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY id) as row FROM myTable) a WHERE row > 5 and row <= 10 上列用法,只有在SQL Server 2005以後的版本才能使用。 參考文獻:http://bioankeyang.blogspot.tw/2013/03/ms-sql-servermysql-limit.html

發表於 MSSQL, PHP | 發表迴響