PDA

View Full Version : مشکل در select فیلد فارسی در شرط where



rooja_59
چهارشنبه 19 آبان 1389, 18:42 عصر
من چند فیلد از نوع nvarchar تعریف کردم که مقادیر فیلد ها فارسی میباشد ولی در select به همراه where مشکل دارم . یعنی هیچ رکوردی را بر نمیگرداند شرط بر اساس فیلدیست که مقدار فارسی در بر دارد .

حمیدرضاصادقیان
چهارشنبه 19 آبان 1389, 19:49 عصر
سلام.شما دستوری که نوشتید رو اینجا قرار بدید تا بهتر بشه راهنمایی کرد.

rooja_59
چهارشنبه 19 آبان 1389, 22:06 عصر
سلام.شما دستوری که نوشتید رو اینجا قرار بدید تا بهتر بشه راهنمایی کرد.

مشکل حل شد با قرار دادن N قبل از مقدار شرط مشکل بر طرف شد . مثال :
select * from Tbname where FieldName=N'name farsie morede nazar'

rooja_59
شنبه 22 آبان 1389, 10:33 صبح
من N را میگذارم ولی باز با ی آخر مشکل دارم

Rezahak
شنبه 22 آبان 1389, 11:22 صبح
سلام
دوست عزيز چند كاراكتر فارسي هستند گه با كد هاي مختلف ذخيره مي شوند هر چند كه شكل ظاهريشان شبيه هم هستند مانند : 'ي' ، 'ك' و ... من يك function برايتان مي گذارم كه در يكسان كردن برخي از اين كاراكترها كمكتان كند :


CREATEFUNCTION [dbo].[GetSortValue]
(
-- Add the parameters for the function here
@Str nvarchar(max)
)
RETURNSnvarchar(max)
AS
BEGIN
-- Declare the return variable here
DECLARE @Result nvarchar(max)
-- Add the T-SQL statements to compute the return value here
SELECT @Result = @Str
SELECT @Result =Replace(@Result,' ','')
SELECT @Result =Replace(@Result,N'',N'')
SELECT @Result =Replace(@Result,nchar(1609),N'')
SELECT @Result =Replace(@Result,N'',N'')
SELECT @Result =Replace(@Result,N'',N'')
-- Return the result of the function
RETURN @Result
END

pesar irooni
شنبه 22 آبان 1389, 11:28 صبح
برای نوشتن «ی» از shift + x استفاده کن