Sql server 2008 将文本追加到sql select查询的每一行
我有一个这样的问题Sql server 2008 将文本追加到sql select查询的每一行,sql-server-2008,Sql Server 2008,我有一个这样的问题 SELECT COUNT(ID) 'Records Affected', TYPE FROM MASTER GROUP BY TYPE 此操作的输出为 Records Affected TYPE ---------------- ---- 4 F1 3 F2 5 F3
SELECT COUNT(ID) 'Records Affected', TYPE FROM MASTER
GROUP BY TYPE
此操作的输出为
Records Affected TYPE
---------------- ----
4 F1
3 F2
5 F3
现在我想更改查询,以便输出如下
Records Affected
----------------
The number of records affected for F1 is : 4
The number of records affected for F2 is : 3
The number of records affected for F3 is : 5
"The number of records affected for " + TYPE + " is : " + COUNT.
如何将默认文本添加到结果集的每一行,而不是添加到前端。我想简化在DataGrid中将记录显示为摘要的任务。尝试以下方法:
SELECT 'The number of records affected for ' + TYPE + ' is : ' +
STR(X.[Records Affected]) AS [Records Affected]
FROM (SELECT COUNT(ID) 'Records Affected', TYPE FROM MASTER GROUP BY TYPE) X
您可以使用以下命令轻松地连接字符串。您将使用+将字符串连接到类型列和计数。注意,计数需要转换为varchar才能工作:
SELECT
'The number of records affected for '+ type +
' is : '+ cast(COUNT(ID) as varchar(50)) as'Records Affected'
FROM yt
GROUP BY TYPE;
请参见在查询中输入文本:
SELECT 'The number of records affected for ' + TYPE + ' is : ' + CAST(COUNT(ID) as VARCHAR(20)) AS 'Records Affected' FROM MASTER
GROUP BY TYPE
使用此查询:
UPDATE bookmark_linx SET link_url=(SELECT CONCAT(link_url, '?raw=true')) WHERE link_url LIKE '%dropbox%'
问题的C部分是什么?我只想在DataGrid中按原样显示输出。。。而不是改变数据集并将其绑定到DataGrid。我只想简化后端的输出。这里是我的观点-虽然您可以使用给定的答案来实现这一点,但最好从数据库中获取原始数据,并在应用程序代码或网格标记中构建消息。此类消息是用户体验的一部分,而不是数据的一部分,因此它属于用户体验代码。这也将使您有机会在以后更改消息、本地化消息、重新格式化消息、导出消息等,而无需接触数据访问层。感谢您的即时回复。感谢您的回答。不过,我的连接在添加文本之前添加了空格。我的一个结果可能会返回受影响行数的数据,而不是只添加一个空格。有办法吗?没关系。这仅在使用SQL Server Manager时发生。
UPDATE bookmark_linx SET link_url=(SELECT CONCAT(link_url, '?raw=true')) WHERE link_url LIKE '%dropbox%'