自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于拼接字符串的一個細(xì)節(jié)問題

數(shù)據(jù)庫 SQL Server
本文主要介紹了我們在利用SQL語句拼接帶分隔符的字符串時的一個細(xì)節(jié)問題以及解決方案,希望能夠?qū)δ兴鶐椭?/div>

SQL Server數(shù)據(jù)庫中,我們可能會因為工作的需要,必須拼接字符串。好多朋友喜歡這樣拼接字符串(SQL Server 2008 R2,CTE部分是偽造的示例數(shù)據(jù)):

  1. WITH TEMP AS  
  2.  
  3. (  
  4.  
  5. SELECT 'A' AS ITEM  
  6.  
  7. UNION ALL  
  8.  
  9. SELECT 'B' AS ITEM  
  10.  
  11. UNION ALL  
  12.  
  13. SELECT 'C' AS ITEM  
  14.  
  15. )  
  16.  
  17. SELECT A.ITEM+',' AS [data()]  
  18.  
  19. FROM TEMP A  
  20.  
  21. FOR XML PATH('') 

這個QUERY會得到這樣的XML:

A, B, C,

但是潛在的問題是當(dāng)數(shù)據(jù)不是字符型的時候會出問題,試把CTE中的數(shù)據(jù)全部改為數(shù)字。

  1. WITH TEMP AS  
  2.  
  3. (  
  4.  
  5. SELECT 1 AS ITEM  
  6.  
  7. UNION ALL  
  8.  
  9. SELECT 2 AS ITEM  
  10.  
  11. UNION ALL  
  12.  
  13. SELECT 3 AS ITEM  
  14.  
  15. )  
  16.  
  17. SELECT A.ITEM+',' AS [data()]  
  18.  
  19. FROM TEMP A  
  20.  
  21. FOR XML PATH('') 

這個QUERY會報錯:

Msg 245, Level 16, State 1, Line 2 Conversion failed when converting the varchar value ',' to data type int.

所以,我推薦的拼接方式是:

  1. WITH TEMP AS  
  2.  
  3. (  
  4.  
  5. SELECT 1 AS ITEM  
  6.  
  7. UNION ALL  
  8.  
  9. SELECT 2 AS ITEM  
  10.  
  11. UNION ALL  
  12.  
  13. SELECT 3 AS ITEM  
  14.  
  15. )  
  16.  
  17. SELECT A.ITEM AS [data()],','  
  18.  
  19. FROM TEMP A  
  20.  
  21. FOR XML PATH('') 

運行結(jié)果是:

1,2,3,

關(guān)于SQL Server數(shù)據(jù)庫拼接字符串的問題就介紹這么多,如果要了解更多SQL Server數(shù)據(jù)庫的問題,可以到這里來:http://database.51cto.com/sqlserver/,謝謝大家的支持!

【編輯推薦】

  1. 誤刪SQL Server日志文件后怎樣附加數(shù)據(jù)庫
  2. 如何配置Oracle 10g oem中的主機身份證明
  3. MSSQL數(shù)據(jù)庫跨表和跨數(shù)據(jù)庫查詢方法簡介
  4. 淺析SQL Server數(shù)據(jù)庫專用管理員連接DAC的使用
  5. T-SQL行列相互轉(zhuǎn)換命令:PIVOT和UNPIVOT使用詳解
責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2021-08-13 07:00:43

Java字符串對象問題

2020-08-12 22:03:17

JavaScript開發(fā)技術(shù)

2013-06-24 15:16:29

Java字符串拼接

2011-07-11 16:00:22

字符串拼接

2021-05-31 07:57:00

拼接字符串Java

2011-07-11 15:36:44

JavaScript

2023-04-25 15:46:51

Python字符串

2024-03-11 06:05:00

C++字符串

2011-04-20 11:34:07

SQL字符串分割

2019-12-25 15:41:50

JavaScript程序員編程語言

2021-10-31 23:01:50

語言拼接字符串

2021-06-11 18:08:00

Java字符串拼接

2011-07-22 15:38:54

SQL Server數(shù)存儲過程切割字符串

2022-11-25 07:53:26

bash腳本字符串

2010-01-06 10:07:35

.NET Framew

2020-09-18 14:23:50

字符

2022-08-14 09:01:27

代碼字符串

2022-11-24 08:01:57

bash腳本字符串

2010-10-09 11:43:10

MYSQL字符串

2023-10-31 18:57:02

Java字符串
點贊
收藏

51CTO技術(shù)棧公眾號