Sql server 國際化的支援,查詢亂碼

iSQlServer發表於2009-07-06

如果 Sql server 2005 的資料庫字符集是非中文,例如是SQL_Latin1_General_CP1_CI_AS什麼的。

  當某個表的自動又有nvarchar時候,那麼你查詢,修改,或者是檢視,儲存過程中,都會出現亂碼或者查詢不出結果。

  例如:

    SELECT 
      StatusName = 
      case xxInstance.[Status]
      when 'Running' then '執行中'
     else '起草中'
     End FROM [WorkflowInstanceBase]  或者

      select Name From contacts where [name]='速強'

     第1條執行的結果是,會出現亂碼

     第2天執行的結果是,沒有結果集

    如果想獲取結果必須對上述sql 進行修改:

 

    SELECT 
      StatusName = 
      case xxInstance.[Status]
      when 'Running' then N'執行中'
     else N'起草中'
     End FROM [WorkflowInstanceBase]  或者

      select Name From contacts where [name]=N'速強'

   這樣就能查詢出結果。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-608432/,如需轉載,請註明出處,否則將追究法律責任。

相關文章