看板 Database 關於我們 聯絡資訊
※ 引述《trueQoo (幸運之神)》之銘言: : 推 TeemingVoid:可以這樣說,不過,我嘗試說明的是這項何以要設成ON。 02/16 16:06 : → TeemingVoid:不只是因為SQL-92規定如此,而是規定之所以如此規定的 02/16 16:06 : → TeemingVoid:理由。就像為什麼不能偷東西? 不只是因為法律規定而已 02/16 16:07 應該這麼說吧,早期的 MS SQL 的字串,並沒有 char 這種東西 你設定字串就等同於 varchar (不補空白) 但確實這是 ansi sql的規定,要有區分不補空白,與補空白的字串 所以 MS SQL 才會多一個設定 而你把 ansi padding 關了, char 就和 varchar 一樣了,但這反而 不建議你這麼用,因為如果你不補空白,請你直接用 varchar 就好了 不該使用 char,因為 MS 已經預設把 char 設定成「會補空白」 所以,原文說為何 sql 要強制設定 ansi padding 為 ON 那原po覺得咧? 預設設定為 off 嗎? 那麼 char 與 varchar 的分別是? 所以結論是,這個選項是「向前相容」,除非你是 SQL 6.0這樣用上來 以前 char 是等於 varchar,不然你沒理由用 padding off -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.67.170