可能只是我,但是......尽管大多数 sql 开发人员可能认为 cast & convert 是非常基本的东西,这可能是真的,但我发现微软关于 CAST & CONVERT 的文档页面是最可怕的页面之一,不直观的布局,很难理解我见过的东西。他们的许多文档都很棒。就像不断尝试将整个页面混合成演员和转换的混合体,在每个句子中来回跳跃......而不是单独处理它们。谁将 target_type 作为第一个参数?将表达式作为第一个参数会更直观 - 并遵循其他 99% 的众多编程语言的语法。呃
MS说我只能转换为3种数据类型:(实际上我不确定这是否适用于CAST和CONVERT,因为它们实际上是不同的......但根据该网页的布局,它显然同样适用于两者——尽管我已经知道它不适用于 CAST,我更频繁地使用它)。
它说:“是目标数据类型。这包括 xml、bigint 和 sql_variant”
暂且不说我一直 CAST 的东西和其他许多数据类型一样(日期,varchar),
我的直接问题是:如果我只能转换为这些数据类型,那么为什么会这样呢?
select CONVERT(varchar(200), cast(50 as smallint))
最后,我想运行一个INSERT
将得到 asmallint
并将其放入varchar(200)
列中的方法。
我要做的就是避免任何失败,所以也许我真的“不需要”转换或转换为varchar
,但任何评论
- 回答我对
CONVERT
文档的明显误解
或者
- 如何安全地将其转换为插入
varchar
受欢迎的。只要你不只是过分不愉快,因为总是有那些 MS 粉丝在所有对 MS 的批评中都发火 .. :|