使用 DISTINCT 数据类型
原文: https://docs.oracle.com/javase/tutorial/jdbc/basics/distinct.html
注:MySQL 和 Java DB 目前不支持DISTINCT
SQL 数据类型。因此,没有 JDBC 教程示例可用于演示本节中描述的功能。
DISTINCT
数据类型与其他高级 SQL 数据类型的行为不同。作为基于已存在的内置类型之一的用户定义类型,它没有接口作为 Java 编程语言中的映射。相反,DISTINCT
数据类型的标准映射是其基础 SQL 数据类型映射到的 Java 类型。
为了说明,创建DISTINCT
数据类型,然后查看如何检索,设置或更新它。假设您始终对状态使用双字母缩写,并且想要创建用于这些缩写的DISTINCT
数据类型。您可以使用以下 SQL 语句定义新的DISTINCT
数据类型:
CREATE TYPE STATE AS CHAR(2);
某些数据库使用备用语法创建DISTINCT
数据类型,如以下代码行所示:
CREATE DISTINCT TYPE STATE AS CHAR(2);
如果一种语法不起作用,您可以尝试另一种语法。或者,您可以查看驱动程序的文档以查看其预期的确切语法。
这些语句创建一个新的数据类型STATE
,它可以用作列值或 SQL 结构类型的属性值。因为STATE
类型的值实际上是两个CHAR
类型的值,所以使用相同的方法来检索它将用于检索CHAR
值,即getString
。例如,假设ResultSet _rs_
的第四列存储STATE
类型的值,则以下代码行检索其值:
String state = rs.getString(4);
类似地,您将使用方法setString
在数据库中存储STATE
值,并使用方法updateString
来修改其值。