无法把字符串varchar

在砖使用varchar类型运行时8.0及以上。它只能用于表模式。它不能被用于函数或运算符。

写的DD沙玛

去年发表在:2022年5月10日

问题

你想投一个字符串类型列varchar但它不工作。

删除

信息

varchar数据类型(AWS|Azure|GCP)是在砖运行时可用8.0及以上。

  1. 创建一个简单的三角洲表,与一列类型字符串
    % sql创建或替换表delta_table1使用δ(“col1”字符串);
  2. 使用显示表在新创建的表和报告字符串类型。
    % delta_table1 sql显示创建表;
    结果创建表显示字符串类型。
  3. 创建第二个三角洲表,根据第一和转换字符串类型列成varchar
    % sql创建或替换表delta_varchar_table1使用三角洲作为选择演员(从delta_table1 col1 VARCHAR (1000));
  4. 使用显示表在新创建的表和报告,表被创建,但列字符串类型。
    % delta_varchar_table1 sql显示创建表;
    显示在表上创建表的结果显示了字符串类型。

导致

varchar类型只能用于表模式。它不能被用于函数或运算符。

请检查火花支持的数据类型文档的更多信息。

解决方案

  1. 你不能把字符串varchar,但是您可以创建一个varcharδ表。
    % sql创建或替换表delta_varchar_table2 (col1的VARCHAR(1000))使用三角洲;
  2. 使用显示表在新创建的表和报告varchar类型。
    % delta_varchar_table2 sql显示创建表;
    显示在表上创建表结果显示varchar类型。
  3. 您现在可以创建另一个varcharδ表,基于第一,它使varchar类型。
    % sql创建或替换表delta_varchar_table3使用SELECT * FROM delta_varchar_table2三角洲;
  4. 使用显示表在新创建的表和报告varchar类型。
    % delta_varchar_table3 sql显示创建表;
    结果创建表显示table3 varchar类型。
这篇文章有用吗?