cy_88 发表于 2016-11-18 09:09:55

DB2 数据类型转换

  db2数据类型转换:
  1、CAST()
CAST (<expression> AS <data_ type>[ length ])
  2、CONVERT()
CONVERT (<data_ type>[ length ], <expression> [, style])
  1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。
  money为Integer      Integer ----> char            char(money)
                  char -------> Integer      Integer(trim(char(money)))
                  
money为double(8,2)   double ----->char            char(cast(money as decimal(8,2)))
                  char ------->double            cast(cast(char(cast(a.money as decimal(8,2))) as decimal(8,2)) as double)
                  
money为decimal(8,2)    decimal ------->char      Digits(money)
                  char ------->decimal      cast(Digits(money) as decimal(8,2))
                  
money为date            date ------>char            char(money)
                  char ------>date            date(trim(char(money)))
                  
money为bigint      bigint ---->char            char(money)
                  char ----->bigint            cast(char(money) as bigint)
页: [1]
查看完整版本: DB2 数据类型转换