2011-08-04 47 views

回答

2

你明白了。使用SUBSTRING()方法。這將適用於任何字符串/字符/二進制/圖像數據類型。

DECLARE @str varchar(1000); 
SELECT @str = 'foobar-booz-baz-cowboys'; 

SELECT SUBSTRING (@str, 0, 10); 
-- returns foobar-boo 

--from a table: 
SELECT SUBSTRING(CustomerName,0,100) 
FROM MyTable; 
+0

首先選擇應該設置 –

+0

@Sam:對不起,你是不正確的。兩者都編譯。 2005年,我只包括了向後兼容的兩條語句。通常(2008+)它會是'DECLARE @str varchar(1000)='foobar-booz-baz-cowboys';' –

+0

我的歉意,我沒有意識到。 –

1

您的僞代碼非常接近。

select substring(longField, 0, 100) 
from myTable 

(僅供參考)

SQL子字符串::

substring(expression, starting_pos, length) 
+1

位置從1開始編號,而不是從0 0將工作,但如果我沒有弄錯(在無法驗證時刻),用0代替一個小於指定長度的字符。 –

+0

愚蠢的1基指數。 –

+1

你期望什麼?這是一個愚蠢的問題,畢竟:) –

0

最簡單的方法是使用LEFT (Transact-SQL)

SELECT 
    LEFT(longField,100) AS longField, ... 
    FROM myTable 
    WHERE...