日期时间与时区与文本与排序规则

共 46 题
#

1. AT TIME ZONE 子句的双向语义,timestamptz 转 timestamp、timestamp 转 timestamptz?

A timestamptz
B time
C timestamp ✓ 正确答案
D interval
#

2. MySQL DATETIME 与 TIMESTAMP 的存储差异,以及 32 位时间戳回绕问题对 TIMESTAMP 取值范围的影响?

A 支持 1000 年到 9999 年
B 无任何范围限制
C 受 32 位时间戳限制,约到 2038 年 ✓ 正确答案
D 只支持 1970 年之后任意年份
#

3. TIMESTAMP WITH TIME ZONE(timestamptz)与 TIMESTAMP WITHOUT TIME ZONE(timestamp)的根本差异,是否存储时区?

A timestamptz 存 UTC 时间点,timestamp 存字面值 ✓ 正确答案
B timestamptz 存储时区偏移,timestamp 不存
C 两者完全相同
D timestamp 存 UTC 时间点
#

4. 时间间隔 INTERVAL 的语法,INTERVAL '1 day'、INTERVAL '1 year 2 months'?

A 一个时间点
B 无效语法
C 1 年加 2 个时刻
D 1 年 2 个月的时间间隔 ✓ 正确答案
#

5. 向 timestamptz 插入夏令时跳变中“不存在的时间”(如春季拨快后的 02:30)会发生什么?秋季拨慢产生的“歧义时间”(02:30 出现两次)如何被解释?

A 直接报错
B 返回 02:30 不变
C 存为 NULL
D 自动映射到实际存在的时刻(推后) ✓ 正确答案
#

6. timestamptz 列的范围查询为何不受会话 TimeZone 影响索引使用(内部以 UTC 存储比较)?但常量字面量的时区解释为何仍依赖 TimeZone 设置?

A 字面量总是按 UTC 解释
B 查询结果完全取决于会话时区
C 索引无法用于 timestamptz
D 列本身以 UTC 存储比较,不受会话时区影响 ✓ 正确答案
#

7. PostgreSQL 中 SET TIME ZONE 与 ALTER DATABASE SET TIMEZONE 的差异?

A 数据库所有连接
B 永久全局
C 集群级
D 仅当前会话 ✓ 正确答案
#

8. 为什么 INTERVAL 的月与日加法不可交换(1 月 31 日先加 1 月再加 30 天,与先加 30 天再加 1 月结果不同)?PostgreSQL 如何处理月末溢出(如加 1 月到 1 月 31 日)?

A 3 月 30 日 ✓ 正确答案
B 3 月 1 日
C 4 月 1 日
D 2 月 28 日
#

9. MySQL 中 CONVERT_TZ 函数?

A 2020-01-01 12:00:00
B 2020-01-01 04:00:00
C 2020-01-01 20:00:00 ✓ 正确答案
D 识别失败
#

10. MySQL 中 ON UPDATE CURRENT_TIMESTAMP 的列属性?

A 仅在插入时更新
B 行更新时自动把该列设为当前时间 ✓ 正确答案
C 与 DEFAULT 无关,只用于读取
D 只支持 DATETIME,不支持 TIMESTAMP
#

11. PostgreSQL 中 pg_timezone_names 视图?

A 数据库表清单
B 索引状态
C 时区名、偏移与是否夏令时信息 ✓ 正确答案
D 用户列表
#

12. PostgreSQL 中 transaction_timestamp()、statement_timestamp() 的差异?

A statement_timestamp()
B transaction_timestamp() ✓ 正确答案
C clock_timestamp()
D 都不等价
#

13. epoch 转换 FROM_UNIXTIME(MySQL)?

A BIGINT
B DATETIME ✓ 正确答案
C DATE
D STRING
#

14. MySQL 中 utf8(utf8mb3)与 utf8mb4 的差异,utf8mb4 支持 4 字节(emoji)?

A utf8mb4 ✓ 正确答案
B utf8(utf8mb3)
C latin1
D ascii
#

15. PostgreSQL 中 COLLATE 子句的覆盖规则,列定义、表定义、查询?

A 查询中的显式 COLLATE 优先级最高 ✓ 正确答案
B 数据库默认优先级最高
C 列定义无法覆盖表定义
D 三者互不覆盖
#

16. PostgreSQL 的 timestamptz 与 Java OffsetDateTime 映射?

A LocalDateTime
B OffsetDateTime ✓ 正确答案
C LocalDate
D LocalTime
#

17. PostgreSQL 中 INITDB 时选择的 locale 与 ICU 的差异?

A 系统 locale 跨平台一致
B 排序规则与 locale 无关
C 两者完全相同
D ICU 提供稳定且跨平台一致的排序规则 ✓ 正确答案
#

18. TEXT 类型(PostgreSQL)与 VARCHAR 的等价性?

A TEXT 更慢
B 完全等价 ✓ 正确答案
C VARCHAR 更慢
D TEXT 只能存短文本
#

19. VARCHAR(n) 与 CHAR(n) 的存储差异,变长 vs 定长、尾随空格处理?

A CHAR 变长,VARCHAR 定长
B CHAR 定长并填充空格,VARCHAR 变长 ✓ 正确答案
C 两者都不处理尾随空格
D VARCHAR 会填充空格
#

20. MySQL 中 SHOW COLLATION 与排序规则的选择?

A 数据库表
B 可用排序规则及其字符集 ✓ 正确答案
C 索引
D 用户
#

21. 字符串索引与排序规则,LIKE 模式匹配的大小写敏感?

A 与 collation 无关
B LIKE 总是大小写敏感
C LIKE 总是大小写不敏感
D 由排序规则决定 ✓ 正确答案
#

22. CHAR 与 VARCHAR 的尾随空格处理?

A 比较时保留
B 存储时自动截断
C 存储时保留尾随空格 ✓ 正确答案
D 与 CHAR 完全一致
#

23. CHAR(10) 与 VARCHAR(10) 的存储差异?

A 只存储实际字符长度 ✓ 正确答案
B 总是占用 10 字符空间
C 会填充空格到 10
D 与 CHAR(10) 存储完全相同
#

24. MySQL 中 COLLATE utf8mb4_bin 的二进制排序?

A 按二进制码点比较,大小写敏感 ✓ 正确答案
B 大小写不敏感
C 只比较数字
D 与 latin1 相同
#

25. MySQL 中 SHOW CHARACTER SET 的查询?

A 显示数据库表
B 显示索引
C 列出可用字符集及其默认排序规则 ✓ 正确答案
D 显示用户权限
#

26. MySQL 中 utf8mb4_unicode_ci 与 utf8mb4_0900_ai_ci 的差异?

A utf8mb4_0900_ai_ci ✓ 正确答案
B utf8mb4_unicode_ci
C utf8mb4_general_ci
D utf8mb4_bin
#

27. PostgreSQL 中 TEXT 类型是否有性能劣势?

A 比 VARCHAR 慢
B 只能存 255 字符
C 与 VARCHAR 性能一致 ✓ 正确答案
D 不能用索引
#

28. PostgreSQL 中 VARCHAR 的最大长度限制?

A 255
B 10485760(约 10MB) ✓ 正确答案
C 4000
D 无上限
#

29. PostgreSQL 中 database、table、column 级 collation 的覆盖?

A 查询中的显式 COLLATE 最高 ✓ 正确答案
B table 级高于 column 级
C database 级最高
D 三者平级
#

30. PostgreSQL 中 pg_collation 视图?

A 数据库表
B 用户
C 索引
D 可用排序规则 ✓ 正确答案
#

31. TEXT 与 VARCHAR 的性能差异?

A PostgreSQL 中两者无差异 ✓ 正确答案
B 所有数据库两者都无差异
C PostgreSQL 中 TEXT 更慢
D VARCHAR 永远更快
#

32. CURRENT_TIMESTAMP 与 now() 的语义差异?

A 语义等价 ✓ 正确答案
B CURRENT_TIMESTAMP 更早
C now() 返回实时时钟
D 类型不同
#

33. epoch 时间与人类可读时间的转换,EXTRACT(EPOCH FROM ts)?

A 自 1970 年起的秒数 ✓ 正确答案
B 年份
C 月份
D 时区偏移
#

34. 夏令时(DST)的处理,America/New_York 等 DST 时区在 2:30 AM 跳变?

A 存储时间点会受影响
B 全年无跳变
C 春季有一个小时不存在 ✓ 正确答案
D 秋季无歧义
#

35. TIMESTAMP 字面量的语法?

A TIMESTAMP '2020-01-01 12:00:00'
B DATE '2020-01-01'
C '2020-01-01 12:00:00+08'::timestamptz ✓ 正确答案
D TIME '12:00:00'
#

36. 存储格式,timestamptz 内部以 UTC 存储,timestamp 存储字面值?

A UTC 时间点 ✓ 正确答案
B 字面墙钟时间
C 会话时区偏移
D 字符串
#

37. 时区数据库(tzdata)的更新与闰秒处理?

A 数据库会插入闰秒
B 没有闰秒概念
C 闰秒影响所有时间运算
D 多数数据库按 59:59 处理,不插入闰秒 ✓ 正确答案
#

38. CURRENT_DATE 返回日期不含时间?

A timestamp
B interval
C time
D date ✓ 正确答案
#

39. DATE 与 TIMESTAMP 的存储差异?

A 2 字节
B 16 字节
C 8 字节
D 4 字节 ✓ 正确答案
#

40. EXTRACT(YEAR FROM date) 的返回值?

A 15
B 6
C 2020 ✓ 正确答案
D 2020-06-15
#

41. INTERVAL '1 day' 的语义?

A 1 天的时间间隔 ✓ 正确答案
B 一个时间点
C 1 小时
D 1 年
#

42. INTERVAL 与 Java Duration 的映射?

A
B ✓ 正确答案
C 小时
D
#

43. TIMESTAMP 与 Java Instant 的映射?

A timestamp
B time
C date
D timestamptz ✓ 正确答案
#

44. date_trunc('day', ts) 的用法?

A 2020-06-15 14:30:00
B 2020-06-15 00:00:00 ✓ 正确答案
C 2020-06-01 00:00:00
D 2020-06-15 14:00:00
#

45. timestamptz 的存储字节?

A 4 字节
B 8 字节 ✓ 正确答案
C 12 字节
D 16 字节
#

46. MySQL 中表的默认排序规则?

A 随机
B 服务器启动参数
C 数据库默认 ✓ 正确答案
D 无默认