نمایش نتایج 1 تا 5 از 5

نام تاپیک: خطای این دستور select در چیست؟

  1. #1
    کاربر دائمی آواتار ztx4
    تاریخ عضویت
    آبان 1388
    محل زندگی
    تهران
    پست
    505

    خطای این دستور select در چیست؟

    سلام
    من وقتی این دستور رو اجرا می کنم :

    select str(classcode)+' : '+name+' '+time+'-'+tol as f from class

    با این خطا مواجه می شم:

    Msg 451, Level 16, State 1, Line 1
    Cannot resolve collation conflict for column 1 in SELECT statement.

    اینم جدولی هست که دارم:

    USE [moin]
    GO

    /****** Object: Table [dbo].[class] Script Date: 02/01/2011 02:37:46 ******/
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE TABLE [dbo].[class](
    [classcode] [bigint] IDENTITY(1,1) NOT NULL,
    [name] [nvarchar](50) NOT NULL,
    [time] [nvarchar](50) NULL,
    [tol] [nvarchar](50) NULL,
    [sex] [bit] NULL,
    [shahriye] [money] NOT NULL,
    [teachercode] [bigint] NULL,
    CONSTRAINT [PK_class] PRIMARY KEY CLUSTERED
    (
    [classcode] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[class] WITH CHECK ADD CONSTRAINT [FK_class_teacher] FOREIGN KEY([teachercode])
    REFERENCES [dbo].[teacher] ([teachercode])
    ON UPDATE CASCADE
    ON DELETE CASCADE
    GO

    ALTER TABLE [dbo].[class] CHECK CONSTRAINT [FK_class_teacher]
    GO


    اما این دستورات مشکلی نداره:

    select str(classcode)+' : '+name as f from class

    select time+'-'+tol as f from class



    ممنون می شم راهنمایی کنید
    خیلی بهش احتیاج دارم.
    درواقع نیازم اینه که اطلاعات مربوط به select اول رو باید در یک رکورد استخراج کنم.
    اگر راه دیگه ای هم برای این کار دارید لطفا بفرمایید.
    ممنون...

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    تهران
    سن
    47
    پست
    182

    نقل قول: خطای این دستور select در چیست؟

    به نظرم COLLATION ستون هاتون یکی نیست.
    به طور دقیق تر، COLLATION ستون name با COLLATION یکی از ستون های time یا tol.
    می تونید از طریق خود Management Studio این رو ببینید.

  3. #3
    کاربر دائمی آواتار ztx4
    تاریخ عضویت
    آبان 1388
    محل زندگی
    تهران
    پست
    505

    نقل قول: خطای این دستور select در چیست؟

    نقل قول نوشته شده توسط m_omrani مشاهده تاپیک
    به نظرم COLLATION ستون هاتون یکی نیست.
    به طور دقیق تر، COLLATION ستون name با COLLATION یکی از ستون های time یا tol.
    می تونید از طریق خود Management Studio این رو ببینید.
    منظور از collation چیه؟
    همون طور که می بینید نوع همه ی ستون ها با هم یکی هست.nvarchar(50)
    دلیل عدم تطبیق چیه؟

  4. #4

    نقل قول: خطای این دستور select در چیست؟

    1) شما از (50)Ncharبراي Timeاستفاده كرديد . دليل آن چيست .؟
    2) collation خود DataBase شما چيست ؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    تهران
    سن
    47
    پست
    182

    نقل قول: خطای این دستور select در چیست؟

    ترجمه اش رو نمی دونم دقیقاً چی باید ترجمه کرد. اما COLLATION طبق مستندات SQL مجموعه ای از قوانینه که برای مرتب سازی، حساسیت حروف، و حساسیت لهجه متن و همچنین تحمیل کُد پیج مورد اعمال به دیتاهای رشته ای برای ذخیره سازی در دیتابیس یا بازیابی اونها به کار می ره.

    اگه COLLATION ستون هاتون یکی نباشه، SQL Server نمی تونه عمل مقایسه رو انجام بده ولو این که هر دو ستون در یک جدول و هر دو از یک نوع باشن (مثلاً هر دو nvarchar(40) باشن).

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •