我試圖使用SQL select查詢來獲取變量的值。這裏沒有新東西。在SQL select中獲取文本+數據
SELECT p.ProductCode FROM Products_Joined AS p
但是,我想知道是否有可能前綴文本結果,如;
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p
因此,它看起來像XJ2156。我試圖用預定義的文本字符串爲數據添加前綴。有人知道如何做到這一點?
我試圖使用SQL select查詢來獲取變量的值。這裏沒有新東西。在SQL select中獲取文本+數據
SELECT p.ProductCode FROM Products_Joined AS p
但是,我想知道是否有可能前綴文本結果,如;
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p
因此,它看起來像XJ2156。我試圖用預定義的文本字符串爲數據添加前綴。有人知道如何做到這一點?
正確的方法是什麼,你的問題說:
SELECT 'XJ' + p.ProductCode FROM Product_Joined AS p
請注意,這僅適用,只要ProductCode
是一個文本類型(varchar
,nvarchar
......)。
如果它的數字,你必須將其轉換第一個文本:
SELECT 'XJ' + CAST(p.ProductCode AS varchar(30)) FROM Product_Joined AS p
代替+你必須使用pipe ||
SELECT 'XJ' || p.ProductCode FROM Product_Joined AS p
我的錯誤..我張貼作爲Oracle數據庫語法.. :( – 2012-03-25 12:44:01
請忽略這個答案。 .. – 2012-03-25 12:44:19
不知道什麼是你的代碼錯誤。我認爲ProductCode是一個int? SQL有瘋狂的隱式轉換規則,原因「XJ」轉換成int ...解決方案:
SELECT 'XJ' + convert(nvarchar(4000), p.ProductCode) FROM Product_Joined AS p
它實際上是一個文本類型,*不要害怕嘗試新的東西... * – henryaaron 2012-03-25 12:46:06
@ user1090389:我不明白「不害怕」的一部分所以沒有現在爲你工作。 ? – 2012-03-25 12:50:29
這是我自己的備忘錄...是的,它的工作,我會盡快接受它,讓它 – henryaaron 2012-03-25 12:51:08