sql語句有中文,亂碼怎么解決
如果SQL Server 系統排序規則為"SQL_Latin1_General_CP1_CI_AS",那么數據庫及數據庫字段排序規則都默認為"SQL_Latin1_General_CP1_CI_AS",如果字段為varchar,插入中文,數據庫顯示為"?",且數據無法修復。解決辦法如下:
1。 修改字段排序規則為"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入語句中,中文字符前加"N",可以插入中文字符。
2。 修改數據庫排序規則為"Chinese_PRC_CI_AS",字段保持varchar,SQL語句不變,插入中文失敗,查看字段屬性后發現,字段排序規則實際上沒有變化,還是默認為"SQL_Latin1_General_CP1_CI_AS",再修改字段排序規則,varchar不變,SQL不變,可以插入中文字符。
總結:
1。 修改系統排序規則沒有試過。
2。 修改數據庫排序規則不會把數據庫中字段的排序規則改掉,但是為了顯示中文,數據庫排序規則必須改。
3。 僅僅修改字段排序規則,還不能完全解決問題。
sql語句看不懂,今天看了朋友寫的一個sql語句,沒看懂什么意思,還
這個應該是SQL2005以上版本的語句,且該語句用于臨時用途;with關鍵字從resume表生成一個CTE(用表表達式,僅作用于單個查詢語句之內,可以認為是創建的命名臨時表)DayResumeStats;該CTE中篩選出所有不符合條件的NewResumes,RefreshedResumes,OpenResumes,和 LowRankResumes;(看字面是篩選出所有非新的、未更新的、未開放的和低級別的簡歷),delete 語句從該DayResumeStats中刪除所有YMD=@yesterday的記錄;,。