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

MSSQL
编程管理sql server的帐号
自己改写的一个sql server 2000的分页存储过程
通过SQL定时分析表监控Unix系统性能
SQL Server磁带数据备份
构造SQL Server的安全门
利用索引提高SQLServer数据处理效率
从SQL备份文件中导入现存数据库中
SQL2005较之SQL2000的改进
SQL SERVER2000中订阅与发布的具体操作
SQL Server中解决死锁的新方法介绍
SQL注入漏洞入侵的过程及其防范措施
查询分析器设置断点单步调试存储过程
SQL Server为Web浏览器提供图像
教你在SQL Server中由原子建立分子查询
关于SQL Server业务规则链接技术探讨
SQL Server 管理常用的SQL和T-SQL
探讨SQL Server数据库中空值处理技巧
SQL Server数据库中使用触发器经验谈
四项技术提高SQL Server性能
SQL Server 2000桌面引擎默认配置空口令漏洞

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 148 ::
收藏到网摘: 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'转换为数字而导致失败。