Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

съхранявате арабски в SQL база данни

Трябва да изберете арабско съпоставяне за вашите колони varchar/char или да използвате Unicode (nchar/nvarchar)

CREATE TABLE #test
(
col1 VARCHAR(100) COLLATE Latin1_General_100_CI_AI,
col2 VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS,
col3 NVARCHAR(100)
)
INSERT INTO #test VALUES(N'لا أتكلم العربية',N'لا أتكلم العربية',N'لا أتكلم العربية')

Обърнете внимание на стойностите N преди в инструкцията за вмъкване по-горе. Ако не го споменете, системата ще третира стойностите като Varchar, а не NVarchar.

SELECT * FROM #test

Връща

col1                           col2                           col3
------------------------------ ------------------------------ ------------------------------
?? ????? ???????               لا أتكلم العربية               لا أتكلم العربية

За да видите списък с арабски съпоставяния, използвайте

SELECT name, description 
FROM fn_helpcollations() 
WHERE name LIKE 'Arabic%'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите стойности, които не съдържат числа в SQL Server

  2. Как да вмъкна запис само със стойности по подразбиране?

  3. Не може да се свърже с локален хост, но може с името на компютъра в SQL Server 2008

  4. Групирайте DateTime в интервали от 5, 15, 30 и 60 минути

  5. Как да върнете нарастващ номер на група за група в SQL