SQL字符串函数在SQLSERVER里常见问题分析在一般情况下,SQLServer会自动完成数据类型的转换,例如,可以直接将字符数据类型或表达式与DATATIME数据类型或表达式比较当表达式中用了INTEGER、SMALLINT或TINYINT时,SQLServer也可将INTEGER数据类型或表达式转换为SMALLINT数据类型或表达式,这称为隐式转换。如果不能确定SQLServer是否能完成隐式转换或者使用了不能隐式转换的其它数据类型,就需要使用数据类型转换函数做显式转换了。专职优化、域名注册、网站空间、虚拟主机、数据库、服务器托管、vps主机、服务器租用的中国信息港在这里为你详细介绍!语法使用CAST:CAST(expressionASdata_type)使用CONVERT:CONVERT(data_type[(length)],expression[,style])参数expression是任何有效的MicrosoftSQLServer表达式。有关更多信息,请参见表达式。data_type目标系统所提供的数据类型,包括bigint和sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。lengthnchar、nvarchar、char、varchar、binary或varbinary数据类型的可选参数。style日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型);或者字符串格式样式,借以将float、real、money或smallmoney数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型)。将某种数据类型的表达式显式转换为另一种数据类型。有关可用的数据类型的更多信息,请参见数据类型。日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型);或者字符串格式样式,借以将float、real、money或smallmoney数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型)。当转换为字符数据时输出。隐性转换对于用户是不可见的。SQLServer自动将数据从一种数据类型转换成另一种数据类型。例如,如果一个smallint变量和一个int变量相比较,这个smallint变量在比较前即被隐性转换成int变量。显式转换使用CAST或CONVERT函数。CAST和CONVERT函数将数值从一个数据类型(局部变量、列或其它表达式)转换到另一个数据类型。例如,下面的CAST函数将数值$157.27转换成字符串''$157.27'':CAST($157.27ASVARCHAR(10))CAST函数基于SQL-92标准并且优先于CONVERT。当从一个SQLServer对象的数据类型向另一个转换时,一些隐性和显式数据类型转换是不支持的。例如,nchar数值根本就不能被转换成image数值。nchar只能显式地转换成binary,隐性地转换到binary是不支持的。nchar可以显式地或者隐性地转换成nvarchar。当处理sql_variant数据类型时,SQLServer支持将具有其它数据类型的对象隐性转换成sql_variant类型。然而,SQLServer并不支持从sql_variant数据隐性地转换到其它数据类型的对象。中国信息港是领先的互联网服务提供商,10年虚拟主机老品牌、全国8强。提供虚拟主机、域名注册、VPS主机、云主机等,我们在产品、性价比、服务、流程等方面显著领先,故得到了10余万客户的认可!