成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server解惑——為什么你拼接的SQL語句換行符失效?

運維 數據庫運維
在SQL Server數據庫的維護管理當中,我們經常要用SQL語句生成一些維護操作的SQL語句,例如,我們要批量的修改數據庫的恢復模式。

[[440214]]

本文轉載自微信公眾號「DBA閑思雜想錄」,作者瀟湘隱者 。轉載本文請聯系DBA閑思雜想錄公眾號。

在SQL Server數據庫的維護管理當中,我們經常要用SQL語句生成一些維護操作的SQL語句,例如,我們要批量的修改數據庫的恢復模式。如下所示:

  1. --=========================================================================================================================== 
  2. --  ScriptName    :   change_recovery_model_to_full.sql 
  3. --  Author        :   Kerry  
  4. --  CreateDate    :   2015-12-18 
  5. --  Description   :   將用戶數據庫的恢復模式從簡單模式切換為完整模式。 
  6. /****************************************************************************************************************** 
  7.   Parameters   :         參數說明 
  8. ******************************************************************************************************************** 
  9.  
  10. ******************************************************************************************************************** 
  11.    Modified Date Modified User     Version     Modified Reason 
  12. ******************************************************************************************************************** 
  13.  2015-12-18    Kerry   V01.00.00    新建該腳本。 
  14. ******************************************************************************************************************* 
  15.  注意事項 : 
  16.     SP_EXECUTESQL 執行的腳本里面不能使用GO語句;如果需要執行的話,上面字符串必須去掉GO。 
  17. *******************************************************************************************************************/ 
  18. --=========================================================================================================================== 
  19.  
  20. DECLARE @SQL_TEXT NVARCHAR(MAX) =''
  21.  
  22. SELECT @SQL_TEXT += 
  23.     'USE master;' + CHAR(10)  
  24.   + 'GO' +CHAR(10) 
  25.   + 'ALTER DATABASE ' + QUOTENAME(name)  + ' SET RECOVERY FULL WITH NO_WAIT;' + CHAR(10) 
  26.   + 'GO' +CHAR(10) 
  27. FROM sys.databases WITH(NOLOCK) 
  28. WHERE recovery_model_desc='SIMPLE'  
  29.   AND state=0  --0表示ONLINE 
  30.   AND name NOT IN ('master''msdb''model','tempdb''distribution','ReportServer','ReportServerTempDB'
  31. ORDER BY database_id; 
  32.  
  33. PRINT @SQL_TEXT; 

我們為了生成輸出的SQL腳本的格式更漂亮/美觀一點,不至于擠到一行或一團,可能經常在拼接時要使用換行符之類的特殊字符,如上所示,我們在拼接SQL語句的時候,我們會使用CHAR(10),有時候也會使用CHAR(9)、CHAR(10)、CHAR(13)這些特殊函數。

  1. CHAR(9)    \t 水平制表符 
  2. CHAR(10)   \r 回車 
  3. CHAR(13)   \n 換行 

但是在一些環境下面,你會發現類似上面SQL可能會“工作”地很正常,但是在一些環境下面,你將拼接生成的SQL拷貝到SSMS的會話窗口或文本文件時,你會發現回車或換行符都失效了,這到底是怎么一回事呢?

其實這個還真跟SSM的環境設置有關,如果你從網格拷貝的時候,換行符或回車符失效了,那么你應該在SSMS的菜單中選項:“選項”-> “查詢結果”-> “SQL Server”-> “以網格顯示結果”中,勾選“復制或保存時保留CR/LF(E)”選項,如果SSMS是英文環境的話,那么對應的選項為“Retain CR/LF on copy or save”

 

另外,當你導出查詢結果時,如果你不想因為這些換行符或回車符導致CSV或Excel格式混亂的話,你也可以取消這個選項。其實這個是一個很簡單的事情,但是確實有一些同學對這些完全不了解。所以在這里簡單的介紹一下。

 

責任編輯:武曉燕 來源: DBA閑思雜想錄
相關推薦

2021-01-07 09:20:08

SQL字符串Server

2010-09-28 16:02:46

替換SQL字段

2010-07-08 13:26:02

SQL Server

2011-07-04 14:28:18

SQL Server分區

2010-07-08 13:32:22

SQL Server

2010-11-12 13:08:36

動態sql語句

2018-12-25 14:40:04

SQL ServerSQL語句數據庫

2010-09-28 14:06:43

Sql Server表

2010-09-06 13:34:37

Sql Server語句

2024-01-01 08:57:55

ODBCSqlServer數據庫

2021-01-19 05:39:17

SQLServer變量

2020-08-18 14:10:53

Bash換行符Linux

2010-10-21 12:16:11

SQL Server查

2010-11-11 11:13:54

SQL Server

2024-07-09 08:49:56

2010-09-13 17:11:42

sql server

2009-09-03 15:50:20

C#回車換行符

2010-10-19 16:06:26

SQL Server索

2010-07-08 17:06:36

SQL Server導

2009-09-02 14:47:44

C#換行符
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区不卡视频 | 丁香六月伊人 | 欧美日韩视频 | 99久久成人 | 成人av一区二区三区 | 黑色丝袜三级在线播放 | 天天综合操 | 91精品国产乱码久久久 | 国产一区不卡 | 国产一区在线免费观看 | 久久久久国产一区二区三区 | 亚洲永久 | 午夜精品一区二区三区免费视频 | 看黄在线| 视频一二三区 | 国产精品1区2区 | 亚洲一二三区精品 | 羞羞视频在线网站观看 | 毛片入口| 一区二区免费在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 婷婷久久网 | 午夜在线视频一区二区三区 | 黄a在线播放| 国产精品九九视频 | 亚洲成人三级 | 91麻豆精品国产91久久久久久久久 | 一区二区三区免费 | 欧美精品一区二区三区蜜桃视频 | 99一区二区 | 91伊人网 | 91网站视频在线观看 | 在线观看黄色电影 | 亚洲人在线观看视频 | 亚洲精品成人网 | 91影视| 久久久精彩视频 | 欧美网站一区二区 | 国产精品乱码一区二区三区 | 中文字幕在线视频精品 | 九九福利 |