SQL查詢語句最長多少個字符
1、SQL Server中SQL 2005及其后的版本中,單條SQL語句理論上,沒有長度限制,但硬件條件是否吃得消,當別論。
2、沒有在官方的資料中查詢到有相關限制的說法,有人嘗試著寫了一個長度為200K以上的語句,結果還是可以運行的。
3、可以自已實測,具體做法,在SQL的SQL Server Management Studio中運行如下語句
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
--中間請再復制,一共8000行左右
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls union
select '1' as ls在我的服務器上,SQL 2008R2下,雙4核CPU,32G內存下,運行8千行左右這樣的代碼,需要的時間為1分鐘左右。將這些代碼保存為SQL腳本,可以看到,它的大小為200K左右。更長的代碼是否能運行,我就不去測試了。
注意,上面的代碼如果復制到8千行,在一般的臺式電腦上安裝的SQL Server下是否吃得消,我就不知道了。如果要嘗試的話,1千行一千行的增加去試吧。
別在重要的生產服務器上玩這樣的花樣,玩死了哭不出來。
4、另外的提示,如果是編程,聯接SQL,要注意它們自身對字符串的長度是否有限制。(VS中C++的string的限制是4G,這在當前基本上可以不考慮了)。
如何用SQL語句修改字段長度
SQL Server修改表的字段長度的語法規則及示例如下:
SQL格式:ALTER TABLE table_name(表名) ALTER Column column_name(列名) type_name(數據類型) null(是否允許NULL)
--將UserList表的Name字段長度修改為varchar(100)
ALTER TABLE UserList ALTER Column Name varchar(100) not null;SQL Server 2008的教程示例如下圖:
詳細可查閱SQL Server安裝目錄文件夾中的【SQL Server教程】-查找【ALTER TABLE 語句】的教程。