SQL Server BIT field true and false

I have a field in a  table in sql server it is of type BIT

I am trying to do an insert in  a stored procedure

BEGIN

INSERT INTO dbo.AccessCodes
(
      AccessCode,
      CodeType,
    Active,
      Assigned
)
VALUES
(
   @AccessCode,
   @BillingMethod,
   true
)
END

I get an error message

The name "true" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.

I went with 1 and 0

BEGIN

INSERT INTO dbo.AccessCodes
(
      AccessCode,
      CodeType,
    Active
)
VALUES
(
   @AccessCode,
   @BillingMethod,
   1
)
END

Later I want to query

select * from accesscodes where active =false
and get

Invalid column name 'false'.

The column is definitly bit

CREATE TABLE [dbo].[AccessCodes](
      [AccessCode] [varchar](10),
      [CodeType] [varchar](1),
      [Active] [bit] NULL,
....
....
)

What am I doing wrong?  I did try UPPERCASE TRUEand FALSE as well



Charles BaldoSoftware DeveloperAsked:
Who is Participating?
 
Aneesh RetnakaranConnect With a Mentor Database AdministratorCommented:
the bit column can store onlu 1/0 and Nulls ... so you have to use 1 for true and 0 for false
select * from accesscodes where active =0
0
 
Charles BaldoSoftware DeveloperAuthor Commented:
Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.