SET ANSI_PADDING ON/OFF

朋友來信詢問:

SET ANSI_PADDING ON/OFF,只有在create table有影響?
我用ssms看table屬性,並沒有看到關於ANSI_PADDING的屬性呢?
我要如何看某個Table在建立時,是使用ANSI_PADDING ON或是OFF呢?

參照:http://dbaspot.com/sqlserver-server/360127-determine-ansi_padding-table.html

測試語法如下:

use tempdb
/*
BOL
在將來的 Microsoft SQL Server 版本中,ANSI_PADDING 一定會是 ON,而且明確將此選項設定為 OFF 的應用程式將會產生錯誤。
請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
*/
SET ANSI_PADDING OFF

CREATE TABLE Foo(AnsiPadding varchar(10),col1 VARCHAR(10) NOT NULL)
GO

EXEC sp_help Foo –(look at TrimTrailingBlanks)

— ANSI_PADDING is ON when typestat is 2, 0 if OFF.
SELECT [name], typestat
FROM syscolumns
WHERE id IN ( OBJECT_ID(‘Foo’) )

INSERT Foo VALUES (‘off’,’Test      ‘)
SELECT  *,’|’ + col1 + ‘|’ FROM Foo
GO

–修改個別 Col 的 Ansi_Padding 設定
SET ANSI_PADDING ON
GO

ALTER TABLE Foo ALTER COLUMN col1 VARCHAR(10) NOT NULL
GO

INSERT Foo VALUES (‘on’,’Test      ‘)
GO

SELECT *,’|’ + col1 + ‘|’
FROM Foo
GO

EXEC sp_help Foo –(look at TrimTrailingBlanks)

— ANSI_PADDING is ON when typestat is 2, 0 if OFF.
SELECT [name], typestat
FROM syscolumns
WHERE id IN ( OBJECT_ID(‘Foo’) )
go

DROP TABLE Foo

執行結果:

image

5 Comments

  1. Posted 2012 年 10 月 17 日 at 03:13:43 | Permalink | 回覆

    感謝分享! 謝謝老師。

  2. shuer
    Posted 2012 年 11 月 01 日 at 06:20:28 | Permalink | 回覆

    胡顧問您好,
    在做RS報表時經常遇到一個問題,不知道如何解決,
    所以在這邊請教您,問題如下:
    做好的報表,在轉出FPG檔或列印時,應該只佔一個頁面的報表,卻會轉出兩頁(一頁為完整的資料,另一頁為空白),
    不知道是哪邊的問題?
    懇請您回覆解惑,謝謝您!

  3. shuer
    Posted 2012 年 11 月 01 日 at 06:27:54 | Permalink | 回覆

    FPG檔應為PDF檔才是~😄

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: