![]() |
||
|
*停權中*
加入日期: Mar 2012
文章: 161
|
SQL Server 數字串接的問題
請教大家:
在SQL Server當中,要把 last name 'Lin' 與 first name 'Jeromy'串接起來 變成username 'Lin Jeromy',可以用+來串接, 但如果是要數字,如first number '1' 與 second number '2' 串接起來 變成pin number '12', 用+來接我都會搞成 '3', 哪位專家知道要怎樣才會正確地變成 '12' ? 感謝 |
|||||||
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: Jul 2002 您的住址: Calgary, Canada
文章: 931
|
CAST(@a AS VARCHAR(1)) + CAST(@b AS VARCHAR(1))
這樣?
__________________
|
||
|
|
|
Advance Member
![]() ![]() 加入日期: Apr 2004 您的住址: 楓葉國
文章: 316
|
要先把數字轉成文字。
數字 1 + 數字 2 = 3 文字 1 + 文字 2 = 12 這在大多數的電腦語言都差不多。但是有些可能還是會給妳錯誤。所以最好的方法就是: 1x10 + 2x1 = 12。 此文章於 2012-04-20 04:23 AM 被 A級黑豬肉 編輯. |
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: May 2005 您的住址: Autobahn, Deutschland
文章: 743
|
若是 12 + 34 呢?
轉文字 -> '1234' 豬肉兄的做法 -> 120 + 34 = 154 還是別偷雞啊∼ 引用:
|
|
|
|
|
Power Member
![]() ![]() 加入日期: Jan 2001 您的住址: Taipei
文章: 503
|
引用:
前面大大指的應該是 12* 10(被加數字位數次方) + 被加數 12 * 10的二次方 + 34 12*100 +34 = 1200+34 =1234
__________________
|
|
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: May 2005 您的住址: Autobahn, Deutschland
文章: 743
|
代碼:
SN PN Value1 Value2 Value3 Results 123 010-10 14 120 17 PASS 124 010-10 132 1 2 PASS 125 020-12 0 1 124 NG 126 010-10 1 22 123 PASS 如果要篩選 PN = 010-10 的所有紀錄,並且需要直接將結果傳回呢? 先不求是否有更好的語法,使用CAST還是比較務實。 SELECT *, CAST(Value1 AS VARCHAR) + CAST(Value2 AS VARCHAR) AS NewValue FROM Table WHERE PN = '010-10' 以我所舉的範例為例,我實在看不出使用乘法的好處在哪... 引用:
|
|
|
|
|
*停權中*
加入日期: Mar 2012
文章: 161
|
感謝各位學長討論。
昨天這題沒考,鬆了一口氣,等我期中全部考完,我再來試試cast指令。 還有三科!!加油 ![]() |
|
|