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

MSSQL
SQL Server 2008批量删除及插入的方法
SQL Server 2008对T-SQL语言的增强
SQL Server 2008中不推荐及不支持的功能
跟我学SQL:(七)从子表里删除数据
如何使用 SQL Server 数据库查询累计值
如何使用SQL Server数据库查询累计值
选择是否恢复整个SQL Server的方法介绍
sql server注册表操作相关的几个未公开过程
在SQL Server中通过.NET远程的执行SQL文件
讲解SQL Server数据库被挂马的解决方案
SQL Server COALESCE()函数的创新应用
教你快速确定SQL Server栏中的最大值
避免在 PL/SQL 中使用嵌套游标查询
轻松掌握SQL Sever中各种语句的完整语法
Asp.net编程中的数组基础实例学习
SQL Server 2005最后升级:SP3年底发布
SQL Server 2008数据库中的新数据类型
SQL Server不允许进行远程连接的解决办法
SQLServer2005 XML在T-SQL中的应用
使用SQL Server代理运行CmdExec命令

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


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