我有一個select語句,我想從一個字段中取得100個字符。是否有捷徑可尋?愚蠢的TSQL問題 - 以選擇語句中的(N)字符
下面是一些僞代碼。
Select substring(0, 100, longField)
from myTable
我有一個select語句,我想從一個字段中取得100個字符。是否有捷徑可尋?愚蠢的TSQL問題 - 以選擇語句中的(N)字符
下面是一些僞代碼。
Select substring(0, 100, longField)
from myTable
你明白了。使用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;
您的僞代碼非常接近。
select substring(longField, 0, 100)
from myTable
(僅供參考)
SQL子字符串::
substring(expression, starting_pos, length)
位置從1開始編號,而不是從0 0將工作,但如果我沒有弄錯(在無法驗證時刻),用0代替一個小於指定長度的字符。 –
愚蠢的1基指數。 –
你期望什麼?這是一個愚蠢的問題,畢竟:) –
最簡單的方法是使用LEFT (Transact-SQL):
SELECT
LEFT(longField,100) AS longField, ...
FROM myTable
WHERE...
首先選擇應該設置 –
@Sam:對不起,你是不正確的。兩者都編譯。 2005年,我只包括了向後兼容的兩條語句。通常(2008+)它會是'DECLARE @str varchar(1000)='foobar-booz-baz-cowboys';' –
我的歉意,我沒有意識到。 –