Microsoft KB Archive/47180

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 17:56, 18 July 2020 by 3155ffGd (talk | contribs) (importing KB archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base


PRB: CONVERTing Character to an Integer Causes Syntax Error

Article ID: 47180

Article Last Modified on 3/14/2005



APPLIES TO

  • Microsoft SQL Server 4.21a Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition



This article was previously published under Q47180

SYMPTOMS

According to the "Microsoft SQL Server Language Reference" and Books Online, you can convert from a character to an integer. However, the following statement,

   select convert(int,'A')
                


causes an error similar to the following:

Msg 249, Level 16, State 1
Syntax error converting CHAR value 'A' to an INT4 field

CAUSE

A convert() from a char to an integer can only be done if it "makes sense." For example, you can convert the character "1" (one) to an integer, but you cannot convert the letter "A". For example

   select convert(int,'1')
                


returns 1 as expected.

WORKAROUND

To return the ASCII numerical representation of a letter, use the ascii() function. For example

   select ascii('A')
                


returns 65.


Additional query words: Transact-SQL Windows NT

Keywords: kbother KB47180