BigQuery不支持nvarchar类型,Azure迁移SQL时的替代方案是什么?
Azure SQL 转 BigQuery 类型适配方案
BigQuery 中没有与 SQL Server nvarchar(max) 完全对等的同名类型,直接使用 STRING 类型替换即可:
- BigQuery 的
STRING原生支持任意 Unicode 字符,无强制长度限制(实际单值最大支持10MB,完全覆盖nvarchar(max)的常规使用场景),和nvarchar(max)的语义完全一致。 - 额外注意:BigQuery 不需要用方括号包裹普通标识符,列名直接书写即可,如有特殊字符可以用反引号包裹。
改写后的兼容代码如下:
CASE WHEN source_system LIKE '%SAP%' THEN CAST('London' AS STRING)
如果原逻辑中是固定长度的nvarchar(n)类型,需要做长度限制的话,可以搭配CHAR_LENGTH函数做校验:
-- 示例:限制长度不超过100字符 CASE WHEN source_system LIKE '%SAP%' THEN CAST('London' AS STRING) END WHERE CHAR_LENGTH(your_column) <= 100
内容的提问来源于stack exchange,提问作者Pierre-Alexandre
相关产品推荐
相关产品推荐

