一、ASCII码值与字符间转换

      

       1、ASCII()与CHAR()



      ASCII()返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其他字符的字符串必须用‘’括起来使用,否则会出        错。



      CHAR()将ASCII 码转换为字符。假设没有输入0 ~ 128 之间的ASCII 码值,CHAR() 返回NULL 。比如:


[sql]  
      view plain 
      copy 
       
       
      
 
      
 
    
1. select ASCII('asd')  
2. select CHAR(97)         
3. select CHAR(129)  --char()范围0-128


      输出结果:



sql server 将数字转成字符串 sql数字转换为字符_字符串



2、Unicode()与NCHAR()



      与ASCII()、CHAR()功能相似相似,它们成对出现,通俗一点说,用Unicode()把字符转化成ASCII码值的时候,相相应的要用NCHAR()把ASCII码值转化成字符,同          理,用ASCII()把字符转化成ASCII码值的时候,相相应的要用CHAR()把ASCII码值转化成字符。



      NCHAR()将ASCII 码转换为字符。假设没有输入0 ~ 65535 之间的ASCII 码值,CHAR() 返回NULL 。比如:


[sql]  
      view plain 
      copy 
       
       
      
 
      
 
    
1. select Unicode('asd')  
2. select NCHAR(97)  
3. select NCHAR(65536)   --char()范围0-65535


      输出结果:




sql server 将数字转成字符串 sql数字转换为字符_字符串



二、把数值型数据转换为字符型数据。


  STR()函数


STR (<float_expression>[,length[, <decimal>]])


  说明:

 length 指定返回的字符串的长度,decimal 指定返回的小数位数。假设没有指定长度,缺省的length 值为10, decimal 缺省值为0。


 当length 或者decimal 为负值时,返回NULL;


 当length 小于小数点左边的位数时,返回length 个*;


 先服从length ,再取decimal ;


 当返回的字符串位数小于length ,左边补足空格。比如:


select STR(1.11111,2)     --返回值 1,当返回的字符串位数小于length ,左边补足空格
select STR(11.1111,2)     --返回值*,当length 小于小数点左边的位数时,返回length 个*
select STR(1.11111,-1,2)  --返回值NULL,当length 或者decimal 为负值时,返回NULL  
select STR(1.11111,3,2)   --返回值1.1,先服从length ,再取decimal

      数据类型转换函数  

1、CAST()


CAST (<expression> AS <data_ type>[ length ])


2、CONVERT()


CONVERT (<data_ type>[ length ], <expression> [, style])


a、data_type为SQL Server系统定义的数据类型,用户自己定义的数据类型不能在此使用。


b、length用于指定数据的长度,缺省值为30。


c、把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这种INTEGER类型、结果必须是带正号或负号的数值。


d、TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。


e、IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。


f、把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。


g、BIT类型的转换把非零值转换为1,并仍以BIT类型存储。


h、试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这样的截断。比如:


SELECT CAST('12345' AS SMALLINT)  --返回值12345
SELECT CONVERT(INT,'1234')        --返回值1234

SELECT CAST(12.345 AS MONEY)      --返回值12.345
SELECT CONVERT(MONEY,$12.345)     --返回值12.345

SELECT CAST(0 AS BIT)             --返回值0
SELECT CONVERT(BIT,'1234')        --返回值1

DECLARE @test CHAR(5),@float INT
SET @test='1234'
SET @float=123456
SELECT CAST(@test AS VARCHAR(3)) --返回值123
SELECT CONVERT(VARCHAR(3),@test) --返回值123
SELECT CAST(@float AS SMALLINT)  --出错,发生数据类型 smallint 的算术溢出错误,值 = 123456。
SELECT CAST(1234 AS SMALLINT)    --返回值1234


i、用CONVERT()函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。具体请点击:




       一、ASCII码值与字符间转换

      

       1、ASCII()与CHAR()


      ASCII()返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其他字符的字符串必须用‘’括起来使用,否则会出        错。


      CHAR()将ASCII 码转换为字符。假设没有输入0 ~ 128 之间的ASCII 码值,CHAR() 返回NULL 。比如:


[sql]        view plain       copy                     
       
     
1. select ASCII('asd')  
2. select CHAR(97)         
3. select CHAR(129)  --char()范围0-128

      输出结果:


sql server 将数字转成字符串 sql数字转换为字符_字符串


2、Unicode()与NCHAR()


      与ASCII()、CHAR()功能相似相似,它们成对出现,通俗一点说,用Unicode()把字符转化成ASCII码值的时候,相相应的要用NCHAR()把ASCII码值转化成字符,同          理,用ASCII()把字符转化成ASCII码值的时候,相相应的要用CHAR()把ASCII码值转化成字符。


      NCHAR()将ASCII 码转换为字符。假设没有输入0 ~ 65535 之间的ASCII 码值,CHAR() 返回NULL 。比如:

[sql]        view plain       copy                     
       
     
1. select Unicode('asd')  
2. select NCHAR(97)  
3. select NCHAR(65536)   --char()范围0-65535


      输出结果:


sql server 将数字转成字符串 sql数字转换为字符_字符串



二、把数值型数据转换为字符型数据。


  STR()函数


STR (<float_expression>[,length[, <decimal>]])


  说明:

 length 指定返回的字符串的长度,decimal 指定返回的小数位数。假设没有指定长度,缺省的length 值为10, decimal 缺省值为0。


 当length 或者decimal 为负值时,返回NULL;


 当length 小于小数点左边的位数时,返回length 个*;


 先服从length ,再取decimal ;


 当返回的字符串位数小于length ,左边补足空格。比如:


select STR(1.11111,2)     --返回值 1,当返回的字符串位数小于length ,左边补足空格
select STR(11.1111,2)     --返回值*,当length 小于小数点左边的位数时,返回length 个*
select STR(1.11111,-1,2)  --返回值NULL,当length 或者decimal 为负值时,返回NULL  
select STR(1.11111,3,2)   --返回值1.1,先服从length ,再取decimal

      数据类型转换函数  

1、CAST()


CAST (<expression> AS <data_ type>[ length ])


2、CONVERT()


CONVERT (<data_ type>[ length ], <expression> [, style])


a、data_type为SQL Server系统定义的数据类型,用户自己定义的数据类型不能在此使用。


b、length用于指定数据的长度,缺省值为30。


c、把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这种INTEGER类型、结果必须是带正号或负号的数值。


d、TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。


e、IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。


f、把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。


g、BIT类型的转换把非零值转换为1,并仍以BIT类型存储。


h、试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这样的截断。比如:


SELECT CAST('12345' AS SMALLINT)  --返回值12345
SELECT CONVERT(INT,'1234')        --返回值1234

SELECT CAST(12.345 AS MONEY)      --返回值12.345
SELECT CONVERT(MONEY,$12.345)     --返回值12.345

SELECT CAST(0 AS BIT)             --返回值0
SELECT CONVERT(BIT,'1234')        --返回值1

DECLARE @test CHAR(5),@float INT
SET @test='1234'
SET @float=123456
SELECT CAST(@test AS VARCHAR(3)) --返回值123
SELECT CONVERT(VARCHAR(3),@test) --返回值123
SELECT CAST(@float AS SMALLINT)  --出错,发生数据类型 smallint 的算术溢出错误,值 = 123456。
SELECT CAST(1234 AS SMALLINT)    --返回值1234


i、用CONVERT()函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。具体请点击: