嵌套CAST不工作 [英] Nested CAST not working

查看:118
本文介绍了嵌套CAST不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么一个嵌套的转换不能在MySQL中工作? (它使用SQL Server)

 选择cast(cast(myColumn as decimal(5,2))as int)from myTable 

SQLFiddle示例

解决方案

根据手册


CAST(expr AS类型) [...]



CONVERT(expr,type) [...]



type 可以是以下值之一:




  • BINARY [(N)]


  • CHAR [(N)]


  • DATE


  • DATETIME


  • DECIMAL [(M [,D])]


  • SIGNED [INTEGER] >

  • >

    <$>

    blockquote>

    所以,只要按照手册:

      SELECT CAST AS DECIMAL(5,2))AS TYPE)FROM myTable 

      SELECT CAST(CAST(myColumn AS DECIMAL(5,2))AS UNSIGNED)FROM myTable 


    Why is a nested cast NOT working in MySQL? (It does using SQL Server)

    select cast(cast(myColumn as decimal(5,2)) as int) from myTable 
    

    SQLFiddle Example

    解决方案

    According to the manual:

    CAST(expr AS type) [...]

    CONVERT(expr,type) [...]

    The type can be one of the following values:

    • BINARY[(N)]

    • CHAR[(N)]

    • DATE

    • DATETIME

    • DECIMAL[(M[,D])]

    • SIGNED [INTEGER]

    • TIME

    • UNSIGNED [INTEGER]

    So, just follow the manual:

    SELECT CAST(CAST(myColumn AS DECIMAL(5,2)) AS SIGNED) FROM myTable
    

    or

    SELECT CAST(CAST(myColumn AS DECIMAL(5,2)) AS UNSIGNED) FROM myTable
    

    这篇关于嵌套CAST不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆