2013-07-22 46 views
1

我有一個由數字字母和破折號組成的主鍵。 例如7223-03-PINKfor sql中的f/tokens

當創建新記錄時,第一個數字塊(7223)將繼續遞增+1。 而第二和第三塊(03-PINK)將保持不變。

隨着記錄被添加到表中,pkey的第一個塊將最終變爲5位數字而不是當前的4位數字。

我想選擇pkey的第一個塊。我不想用

SUBSTRING(p鍵,1,)

,因爲最終我將這個公式更改爲

SUBSTRING(p鍵,1 ,)。

有什麼SQL允許我只能選擇第一個令牌?也許相當於一個FOR/F「令牌= 1」....在CMD中?

我試圖做到這一點在SQL Server 2008 R2

回答

0

查一查它的位置和讀它;

SUBSTRING(pkey, 1, CHARINDEX('-', pkey, 1) - 1) 

你也可以考慮在自己的整數(identity?)列中有前導整數部分。

+0

這個公式非常完美!謝謝! – Harif87