我想连接“虚拟”和“停靠”这两个词。
如何在SQL Server 2005中连接它们?它是否支持双引号?
答案 0 :(得分:30)
试试这个:
DECLARE @COMBINED_STRINGS AS VARCHAR(50); -- Allocate just enough length for the two strings.
SET @COMBINED_STRINGS = 'rupesh''s' + 'malviya';
SELECT @COMBINED_STRINGS; -- Print your combined strings.
或者您可以将字符串放入变量中。这样:
DECLARE @COMBINED_STRINGS AS VARCHAR(50),
@STRING1 AS VARCHAR(20),
@STRING2 AS VARCHAR(20);
SET @STRING1 = 'rupesh''s';
SET @STRING2 = 'malviya';
SET @COMBINED_STRINGS = @STRING1 + @STRING2;
SELECT @COMBINED_STRINGS;
<强>输出:强>
rupesh'smalviya
只需在字符串中添加一个空格作为分隔符。
答案 1 :(得分:14)
所以如果你的表有一行如下:
firstname lastname
Bill smith
你可以做点什么
select firstname + ' ' + lastname from thetable
你会得到“比尔史密斯”
答案 2 :(得分:8)
答案 3 :(得分:3)
要在2008年或之前连接两个字符串:
SELECT ISNULL(FirstName, '') + ' ' + ISNULL(SurName, '')
很好用ISNULL,因为“String + NULL”只会给你一个NULL
还有一件事:确保连接字符串,否则使用CAST运算符:
SELECT 2 + 3
会给5
SELECT '2' + '3'
会给23
答案 4 :(得分:2)
DECLARE @COMBINED_STRINGS AS VARCHAR(50),
@STRING1 AS VARCHAR(20),
@STRING2 AS VARCHAR(20);
SET @STRING1 = 'rupesh''s';
SET @STRING2 = 'malviya';
SET @COMBINED_STRINGS = @STRING1 + @STRING2;
SELECT @COMBINED_STRINGS;
SELECT '2' + '3';
我在一个名为TEST.sql的sql文件中键入它,然后运行它。我得到了以下内容。
+-------------------+
| @COMBINED_STRINGS |
+-------------------+
| 0 |
+-------------------+
1 row in set (0.00 sec)
+-----------+
| '2' + '3' |
+-----------+
| 5 |
+-----------+
1 row in set (0.00 sec)
在研究了这个问题后,我发现SQL中字符串连接的最佳和可靠的排序方式是使用CONCAT方法。 所以我在同一个文件中做了以下更改。
#DECLARE @COMBINED_STRINGS AS VARCHAR(50),
# @STRING1 AS VARCHAR(20),
# @STRING2 AS VARCHAR(20);
SET @STRING1 = 'rupesh''s';
SET @STRING2 = 'malviya';
#SET @COMBINED_STRINGS = @STRING1 + @STRING2;
SET @COMBINED_STRINGS = (SELECT CONCAT(@STRING1, @STRING2));
SELECT @COMBINED_STRINGS;
#SELECT '2' + '3';
SELECT CONCAT('2','3');
并且在执行文件之后这是输出。
+-------------------+
| @COMBINED_STRINGS |
+-------------------+
| rupesh'smalviya |
+-------------------+
1 row in set (0.00 sec)
+-----------------+
| CONCAT('2','3') |
+-----------------+
| 23 |
+-----------------+
1 row in set (0.00 sec)
我正在使用的SQL版本是:14.14
答案 5 :(得分:0)
我有一个简单的解决方案,可以从数据库表中进行选择,让您轻松完成。
SELECT b.FirstName + b.LastName FROM tbl_Users b WHERE b.Id='11'
如果您尝试
,可以在那里轻松添加空格SELECT b.FirstName +' '+ b.LastName FROM Users b WHERE b.Id='23'
在这里你可以和桌子一样多组合。