当前位置: 首页 > 图文教程 > 数据库 > MSSQL > sqlserver 数据类型转换小实验

MSSQL
使用SQL Server数据库嵌套子查询的方法
SQL Server SQL Agent服务使用教程小结
五种提高 SQL 性能的方法
非常不错的SQL语句学习手册实例版
SQL语言查询基础:连接查询 联合查询 代码
SQL SERVER的优化建议与方法
简单的SQL Server备份脚本代码
sql基本函数大全
SQL查询语句精华使用简要
数据库分页存储过程代码
SQL查询连续号码段的巧妙解法
sql server中千万数量级分页存储过程代码
sql2000各个版本区别总结
如何远程连接SQL Server数据库图文教程
一个SQL语句获得某人参与的帖子及在该帖得分总和
通用分页存储过程,源码共享,大家共同完善
SQL查找某一条记录的方法
使用 GUID 值来作为数据库行标识讲解
非常详细的SQL--JOIN之完全用法
收缩后对数据库的使用有影响吗?

MSSQL 中的 sqlserver 数据类型转换小实验


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 48 ::
收藏到网摘: n/a

sql实验验证数据类型转换实现sql语句
  1. declare @i int
    set @i='a'
    set @i=cast('a' as int)
    set @i=convert(int, 'a')
    print @i --输出结果为:将 varchar 值 'a' 转换为数据类型为 int 的列时发生语法错误。这一点与java不一样

  2. declare @ch varchar(90)
    set @ch=97
    print @ch

    --显示结果为97,说明隐式转换成字符串了

  3. declare @ch varchar(90)
    set @ch=97+'a'
    print @ch

    --输出结果为:将 varchar 值 'a' 转换为数据类型为 int 的列时发生语法错误。为什么不先把数字97转换成字符串,然后再与‘a'连接呢,是不是因为97在前,sqlserver所以尝试这么作呢?换一下位置看看

  4. declare @ch varchar(90)
    set @ch='a'+97
    print @ch

    --输出结果为:将 varchar 值 'a' 转换为数据类型为 int 的列时发生语法错误。不明白sqlserver为什么总是先要把‘a'转换为数字而导致失败。