暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SAP HANA SQL系列二:数据类型转换函数

原创 SAP 2022-05-30
3304

数据类型转换函数

  • 数据类型转换函数用来把参数从一个数据类型转换为另一个数据类型,或者测试转换是否可行。

CAST

  • CAST (expression AS data_type)
  • 返回转换为提供的数据类型的表达式。
SELECT CAST (7 AS VARCHAR) "cast" FROM DUMMY;
Cast 7

TO_ALPHANUM

  • TO_ALPHANUM (value)
  • 将给定的 value 转换为 ALPHANUM 数据类型。
SELECT TO_ALPHANUM ('10') "to alphanum" FROM DUMMY;
to alphanum 10

TO_BIGINT

  • TO_BIGINT (value)
  • 将 value 转换为 BIGINT 类型。
SELECT TO_BIGINT ('10') "to bigint" FROM DUMMY;
to bigint 10

TO_BINARY

  • TO_BINARY (value)
  • 将 value 转换为 BINARY 类型。
SELECT TO_BINARY ('abc') "to binary" FROM DUMMY;
to binary 616263

TO_BLOB

  • TO_BLOB (value)
  • 将 value 转换为 BLOB 类型。参数值必须是二进制字符串。
SELECT TO_BLOB (TO_BINARY('abcde')) "to blob" FROM DUMMY;
to blob abcde

TO_CHAR

  • TO_CHAR (value [, format])
  • 将 value 转换为 CHAR 类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。
SELECT TO_CHAR (TO_DATE('2009-12-31'), 'YYYY/MM/DD') "to char" FROM DUMMY;
to char 2009/12/31

TO_CLOB

  • TO_CLOB (value)
  • 将 value 转换为 CLOB 类型。
SELECT TO_CLOB ('TO_CLOB converts the value to a CLOB data type') "to clob" FROM DUMMY;
to clob TO_CLOB converts the value to a CLOB data type

TO_DATE

  • TO_DATE (d [, format])
  • 将日期字符串 d 转换为 DATE 数据类型。如果省略 format 关键字,转换将会使用 Date Formats 中
    说明的日期格式模型。
SELECT TO_DATE('2010-01-12', 'YYYY-MM-DD') "to date" FROM DUMMY;
to date 2010-01-12

TO_DECIMAL

  • TO_DECIMAL (value [, precision, scale])

  • 将 value 转换为 DECIMAL 类型。

  • 精度是有效数字的总数,范围为 1 至 34。小数位数是从小数点到最小有效数字的数字个数,范围从-6,111 到 6,176,这表示位数指定了十进制小数的指数范围从 10-6111 至 106176。如果没有指定小数位数,则默认值为 0。当数字的有效数字在小数点的右侧时,小数位数为正;有效数字在小数点左侧时,小数位数为负。

  • 当未指定精度和小数位数,DECIMAL 成为浮点小数。这种情况下,精度和小数位数可以在上文描述的范围内不同,根据存储的数值,精度为 1-34 以及小数位数为 6111-6176。

SELECT TO_DECIMAL(7654321.888888, 10, 3) "to decimal" FROM DUMMY
to decimal 7654321.889

TO_DOUBLE

  • TO_DOUBLE (value)

  • 将 value 转换为 DOUBLE(双精度)数据类型。

SELECT 3*TO_DOUBLE ('15.12') "to double" FROM DUMMY;
to double 45.36

TO_INT

  • TO_INT (value)

  • 将 value 转换为 INTEGER 类型。

SELECT TO_INT('10') "to int" FROM DUMMY;
to int 10

TO_INTEGER

  • TO_INTEGER (value)

  • 将 value 转换为 INTEGER 类型。

SELECT TO_INT('10') "to int" FROM DUMMY;
to int 10

TO_NCHAR

  • TO_NCHAR (value [, format])

  • 将 value 转换为 NCHAR Unicode 字符类型。如果省略 format 关键字,转换将会使用 Date Formats中说明的日期格式模型。

SELECT TO_NCHAR (TO_DATE('2009-12-31'), 'YYYY/MM/DD') "to nchar" FROM DUMMY;
to nchar 2009/12/31

TO_NCLOB

  • TO_NCLOB (value)

  • 将 value 转换为 NCLOB 数据类型。

SELECT TO_NCLOB ('TO_NCLOB converts the value to a NCLOB data type') "to nclob" FROM DUMMY;
to nclob TO_NCLOB converts the value to a NCLOB data type

TO_NVARCHAR

  • TO_NVARCHAR (value [,format])

  • 将 value 转换为 NVARCHAR Unicode 字符类型。如果省略 format 关键字,转换将会使用 DateFormats 中说明的日期格式模型。

SELECT TO_NVARCHAR(TO_DATE('2009/12/31'), 'YY-MM-DD') "to nchar" FROM DUMMY;
to nchar 09-12-31

TO_REAL

  • TO_REAL (value)

  • 将 value 转换为实数(单精度)数据类型。

SELECT 3*TO_REAL ('15.12') "to real" FROM DUMMY;
to real 45.36000061035156

TO_SECONDDATE

  • TO_SECONDDATE (d [, format])

  • 将 value 转换为 SECONDDATE 类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。

SELECT TO_SECONDDATE ('2010-01-11 13:30:00', 'YYYY-MM-DD HH24:MI:SS') "to seconddate" FROM DUMMY;
to seconddate 2010-01-11 13:30:00.0

TO_SMALLDECIMAL

  • TO_SMALLDECIMAL (value)

  • 将 value 转换为 SMALLDECIMAL 类型。

SELECT TO_SMALLDECIMAL(7654321.89) "to smalldecimal" FROM DUMMY;
to smalldecimal 7654321.89

TO_SMALLINT

  • TO_SMALLINT (value)
  • 将 value 转换为 SMALLINT 类型。
SELECT TO_SMALLINT ('10') "to smallint" FROM DUMMY;
to smallint 10

TO_TIME

  • TO_TIME (t [, format])
  • 将时间字符串 t 转换为 TIME 类型。如果省略 format 关键字,转换将会使用 Date Formats 中说明的日期格式模型。
SELECT TO_TIME ('08:30 AM', 'HH:MI AM') "to time" FROM DUMMY;
to time 08:30:00

TO_TIMESTAMP

  • TO_TIMESTAMP (d [, format])
  • 将时间字符串 t 转换为 TIMESTAMP 类型。如果省略 format 关键字,转换将会使用 Date Formats中说明的日期格式模型。
SELECT TO_TIMESTAMP ('2010-01-11 13:30:00', 'YYYY-MM-DD HH24:MI:SS') "to timestamp" FROM DUMMY;
to timestamp 2010-01-11 13:30:00.0

TO_TINYINT

  • TO_TINYINT (value)
  • 将 value 转换为 TINYINT 类型。
SELECT TO_TINYINT ('10') "to tinyint" FROM DUMMY;
to tinyint 10

TO_VARCHAR

  • TO_VARCHAR (value [, format])
  • 将给定 value 转换为 VARCHAR 字符串类型。如果省略 format 关键字,转换将会使用 Date Formats中说明的日期格式模型。
SELECT TO_VARCHAR (TO_DATE('2009-12-31'), 'YYYY/MM/DD') "to char" FROM DUMMY;
to char 2009/12/31
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论