我有一個包含類似值的列:分裂數字和字母2005臺
034004
034010
06012AB
06012C
06012D
06012P
06026C
06026P
有沒有辦法單獨或在兩個單獨的列,數字和字母拆分這些?難道不是所有的數字都包含字母嗎?
我使用SQL Server Management Studio 2005中
乾杯提前爲任何能指出我在正確的直接
我有一個包含類似值的列:分裂數字和字母2005臺
034004
034010
06012AB
06012C
06012D
06012P
06026C
06026P
有沒有辦法單獨或在兩個單獨的列,數字和字母拆分這些?難道不是所有的數字都包含字母嗎?
我使用SQL Server Management Studio 2005中
乾杯提前爲任何能指出我在正確的直接
假設它始終是數字一組,然後(可能)一組字母
SELECT SUBSTRING(YourCol, 0, P),
SUBSTRING(YourCol, P, 8000)
FROM YourTable
CROSS APPLY(SELECT PATINDEX('%[^0-9]%', YourCol + 'A')) Split(P)
非常感謝將數字和字母分成2列。非常感謝 – user1086159 2012-01-06 11:13:02
感謝您的回答,它爲我工作。但是我不明白你對Split(P)做了什麼。你能解釋一下嗎? – ristonj 2013-07-06 00:19:21
@ristonj只是將表達式PATINDEX('%[^ 0-9]%',YourCol +'A')'的結果放入一個別名爲'P'的列中,然後我可以在'SELECT'子句中引用而不需要重複更長的表達。 – 2013-07-06 17:33:59
字母是否可以混合(即12BA34CD)還是始終是數字,後面是字母(如果有)? SQL的字符串函數並不是很好,但你所要求的可能可以用它們來完成。 – Sparky 2012-01-06 11:01:58
它總是一個數字後面跟一個數字(如果有的話)的設置格式 – user1086159 2012-01-06 11:06:56