您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

BIT 和 CHAR/VARCHAR 数据类型之间的转换

对于比较运算符、算术运算符以及 INSERTUPDATE 语句,SAP IQ 支持数据类型 BIT 与 CHAR 以及 BIT 与 VARCHAR 的隐式转换

以下示例说明了 BIT 与 CHAR 以及 BIT 与 VARCHAR 数据类型之间的隐式转换和显式转换。

假定有以下表和数据:

CREATE TABLE tchar(c1 CHAR(9)) CREATE TABLE tvarchar(c2 VARCHAR(9)) CREATE TABLE tbar(c2 BIT) CREATE TABLE tbit(c2 BIT)  INSERT tbar VALUES(1) INSERT tbar VALUES(0)

从 BIT 到 VARCHAR /从 VARCHAR 到 BIT 的隐式转换以及从 BIT 到 VARCHAR 的隐式转换:

INSERT tvarchar SELECT c2 FROM tbar

SELECT c2, char_length(c2) FROM tvarchar

c2,char_length(tvarchar.c2)

‘1’,1

‘0’,1

VARCHAR 到 BIT 的隐式转换:

INSERT tbit SELECT c2 FROM tvarchar

SELECT c2 FROM tbit

c2

--

0

1

从 BIT 到 CHAR /从 CHAR 到 BIT 的显式转换以及从 BIT 到 CHAR 的显式转换:

INSERT tchar SELECT CONVERT (CHAR(9), c2) FROM tbar

SELECT c1, char_length(c1) FROM tchar

c1,char_length(tchar.c1)

‘1’,9

‘0’,9

CHAR 到 BIT 的显式转换:

INSERT tbit SELECT CONVERT (BIT, c1) FROM tchar

SELECT c2 FROM tbit

c2

--

0

1

从 BIT 到 VARCHAR /从 VARCHAR 到 BIT 的显式转换以及从 BIT 到 VARCHAR 的显式转换:

INSERT tvarchar SELECT CONVERT(VARCHAR(9), c2)

  FROM tbar

SELECT c2, char_length(c2) FROM tvarchar

c2,char_length(tvarchar.c2)

‘1’,1

‘0’,1

VARCHAR 到 BIT 的显式转换:

INSERT tbit SELECT CONVERT (BIT, c2) FROM tvarchar

SELECT c2 FROM tbit

c2

--

0

1