1520
جزئیات وبلاگ
تبدیل ی و ک عربی به فارسی در SQL Server توسط T-SQL
شاید براتون پیش اومده باشه که تا قبل از اینکه نرم افزارتون آماده بشه تا کلمات و حروف عربی رو به فارسی تبدیل و در دیتا بیس ذخیره کنه ، کاربرا کلی حروف عربی توی دیتا بیس زده باشن.
حالا ما اگر بخواهیم تمام حروف ی و ک عربی رو یه جدول دیتا بیس به حروف ی و ک فارسی تبدیل کنیم ، می تونیم از اسکریپت زیر استفاده کنیم.البته در این روش تمام جداول پایگاه داده به انضمام تمام فیلد های نوع متنی در نظر گرفته می شود و فقط کافیه جای dbName نام دیتا بیس خودتون رو قرار بدید.
Use [dbName]
DECLARE @Table NVARCHAR(MAX),@Column NVARCHAR(MAX)
DECLARE Table_Cursor CURSOR
FOR
--پیدا کردن تمام فیلدهای متنی تمام جداول دیتابیس جاری
SELECT T.name, /* Table */
C.name /* Column */
FROM sysobjects T,syscolumns C
WHERE T.id = C.id AND T.xtype = 'u' /* User Table */
AND (C.xtype = 99 /* ntext */
OR C.xtype = 35 /* text */
OR C.xtype = 231 /* nvarchar */
OR C.xtype = 167 /* varchar */
OR C.xtype = 175 /* char */
OR C.xtype = 239 /* nchar */)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @Table,@Column
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXEC ('Update [' + @Table + '] Set [' + @Column + '] = REPLACE(REPLACE(CAST([' + @Column + '] as nvarchar(max)), NCHAR(1610), NCHAR(1740)), NCHAR(1603), NCHAR(1705))')
FETCH NEXT FROM Table_Cursor INTO @Table,@Column
END CLOSE Table_Cursor
DEALLOCATE Table_Cursor
تبدیل ی و ک عربی به فارسی در SQL Server توسط T-SQL