2012-12-12 18 views
-7

給定的值是這樣當實際條目包含20個字符並且該字段在varchar中時,如何從給定的10個字符的列中獲得完整條目?

4213076600 

,我需要使用select

我知道我可以通過使用類似功能得到它,但給定的值約爲100

獲取此 89013106904213076600從表

我使用的查詢是

select left(name, 50) 
from production.product 
where left(name, 50) in ('ring', 'heel') 
order by productid; 

請相應更改

+4

是您的Caps Lock鍵卡住?此外,你的問題缺乏:1)信息2)尊重在這裏接聽的人 –

+0

@Daniel Hilgarth:'SELECT'SORRY,我在這裏輸入SQL''(前些天有人試圖把它拉上去) – BoltClock

+0

don不喊,反正它不能被聽到。 –

回答

2

只需改變你實際選擇:使用SELECT NAME代替SELECT LEFT(NAME, 50)

SELECT NAME 
FROM Production.Product 
WHERE LEFT(Name, 4) IN ('ring','heel') 
ORDER BY ProductID; 
+0

它在結果中顯示空列 – faizan

+0

這是因爲只有當IN子句中的所有值都具有在LEFT函數中指定的相同長度時纔會起作用。在示例語句中,您需要使用'LEFT(NAME,4)'而不是'LEFT(NAME,50)'。但是,請注意,只要有'IN'子句中有不同長度的字符串,就會停止正常工作 - 它們的行將永遠不會返回。 –

+0

但如果我有一個較少的信息,但必須得到像我提到的問題全數 – faizan

相關問題