SQL 投射目标类型:标准化?

SQL cast target types: standardized?

SQL 函数

cast(expression as type):

这是ANSI标准。类型是否标准化?允许使用哪些类型?它们是否因数据库而异?

查看了 MySQL 和其他人。 MySQL有signed/unsigned,其他有INT。

CAST() 是 ANSI 标准。在我脑海中,ANSI 数据类型是这样的:

  • DECIMAL/NUMERIC(比例,精度)
  • VARCHAR()/CHAR()
  • DATE/TIME/DATETIME/INTERVAL
  • DOUBLE PRECISION/FLOAT
  • BIGINT/INT/SMALLINT

MySQL 稍微改变了语法。因此,使用 UNSIGNEDSIGNED 而不是 INTCHAR 用于所有字符类型。其他数据库对 CAST() 有自己的修改。例如 Google BigQuery 使用 string 而不是字符类型。