Microsoft KB Archive/47180

From BetaArchive Wiki
Knowledge Base

PRB: CONVERTing Character to an Integer Causes Syntax Error

Article ID: 47180

Article Last Modified on 3/14/2005


  • 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


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


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.


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