PDA

View Full Version : عدم تشخیص حرف ی در جستجو و عدم توانای حل آن با Procedure



m0rteza
جمعه 13 دی 1387, 21:43 عصر
سلام
من قبلا که از Procedure استفاده نمی کردم ، فیلد هایی که فکر میکردم در اونها حرف (ی) هست ، برای اینکه در جستجو بیایند بجای نوع Nvarchar از نوع Text میگرفتم و مشکلی نداشتم.
حالا که میخوام از همین رو با Procedure انجام بدم . میگه نمی تونی پارامتر ورودی رو text بگیری

CREATE Procedure sp_Tbl_AshkhaseHaghighi_SelectName
@Name Text
As
Begin

Select
*
From Tbl_AshkhaseHaghighi
where [FullName] Like @Name+'%'

End
GO

فیلد FullName هم از نوع text گرفتم.
اولا اشکال این procedure چیه? اگر روش بهتری برای حل این موضوع هست ممنون میشم راهنماییم کنید.

ممنونم

AminSobati
جمعه 13 دی 1387, 22:57 عصر
سلام،
آیا طول فیلد FullName بیش از 4000 کاراکتره که از NVARCHAR استفاده نمیکنید؟ اگر بله، پس ناچارا باید از NTEXT استفاده کرد و FTS میتونه کار Like رو براتون انجام بده

hdv212
جمعه 13 دی 1387, 23:02 عصر
از nvarchar(max) هم میتونید استفاده کنید.

ar.shirazi
یک شنبه 15 دی 1387, 07:19 صبح
سلام
من قبلا که از Procedure استفاده نمی کردم ، فیلد هایی که فکر میکردم در اونها حرف (ی) هست ، برای اینکه در جستجو بیایند بجای نوع Nvarchar از نوع Text میگرفتم و مشکلی نداشتم.
حالا که میخوام از همین رو با Procedure انجام بدم . میگه نمی تونی پارامتر ورودی رو text بگیری

CREATE Procedure sp_Tbl_AshkhaseHaghighi_SelectName
@Name Text
As
Begin

Select
*
From Tbl_AshkhaseHaghighi
where [FullName] Like @Name+'%'

End
GO

فیلد FullName هم از نوع text گرفتم.
اولا اشکال این procedure چیه? اگر روش بهتری برای حل این موضوع هست ممنون میشم راهنماییم کنید.

ممنونم
یعنی این شکلی:



CREATE Procedure sp_Tbl_AshkhaseHaghighi_SelectName
@Name nvarchar(max)
As
Begin

Select
*
From Tbl_AshkhaseHaghighi
where [FullName] Like @Name+'%'

End
GO