2012-03-25 31 views
0

我試圖使用SQL select查詢來獲取變量的值。這裏沒有新東西。在SQL select中獲取文本+數據

SELECT p.ProductCode FROM Products_Joined AS p 

但是,我想知道是否有可能前綴文本結果,如;

SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p 

因此,它看起來像XJ2156。我試圖用預定義的文本字符串爲數據添加前綴。有人知道如何做到這一點?

回答

0

正確的方法是什麼,你的問題說:

SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p 

請注意,這僅適用,只要ProductCode是一個文本類型(varcharnvarchar ......)。
如果它的數字,你必須將其轉換第一個文本:

SELECT 'XJ' + CAST(p.ProductCode AS varchar(30)) FROM Product_Joined AS p 
+0

它實際上是一個文本類型,*不要害怕嘗試新的東西... * – henryaaron 2012-03-25 12:46:06

+0

@ user1090389:我不明白「不害怕」的一部分所以沒有現在爲你工作。 ? – 2012-03-25 12:50:29

+0

這是我自己的備忘錄...是的,它的工作,我會盡快接受它,讓它 – henryaaron 2012-03-25 12:51:08

0

代替+你必須使用pipe ||

 SELECT 'XJ' || p.ProductCode FROM Product_Joined AS p 
+0

我的錯誤..我張貼作爲Oracle數據庫語法.. :( – 2012-03-25 12:44:01

+0

請忽略這個答案。 .. – 2012-03-25 12:44:19

1

不知道什麼是你的代碼錯誤。我認爲ProductCode是一個int? SQL有瘋狂的隱式轉換規則,原因「XJ」轉換成int ...解決方案:

SELECT 'XJ' + convert(nvarchar(4000), p.ProductCode) FROM Product_Joined AS p