You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中Teradata USERENV('LANG')函数的等效替代方案咨询

Teradata USERENV('LANG') 在 Snowflake 中的替代方案

Teradata 里的 USERENV('LANG') 用于获取当前会话的默认语言设置,在 Snowflake 中可以直接用 CURRENT_LANGUAGE() 函数替代,它会返回当前会话的语言标识(比如 'en-US'、'zh-CN')。另外,SESSION_CONTEXT('LANGUAGE') 也能达到同样的效果。

示例查询转换

原 Teradata 查询:

SELECT
A.EMPID, A.EMP_LANGUAGE,
B.EMP_SAL
FROM EMPLOYEE A,
EMP_SALARY B
WHERE A.EMP_ID = B.EMP_ID
AND A.EMP_LANGUAGE = USERENV('LANG');

对应的 Snowflake 查询:

SELECT 
A.EMPID, A.EMP_LANGUAGE,
B.EMP_SAL
FROM EMPLOYEE A
JOIN EMP_SALARY B ON A.EMP_ID = B.EMP_ID 
AND A.EMP_LANGUAGE = CURRENT_LANGUAGE();

如果习惯用 SESSION_CONTEXT,也可以这样写:

SELECT 
A.EMPID, A.EMP_LANGUAGE,
B.EMP_SAL
FROM EMPLOYEE A
JOIN EMP_SALARY B ON A.EMP_ID = B.EMP_ID 
AND A.EMP_LANGUAGE = SESSION_CONTEXT('LANGUAGE');

补充说明

如果需要手动指定会话语言,执行以下语句即可:

ALTER SESSION SET LANGUAGE = 'zh-CN';

执行后,CURRENT_LANGUAGE() 就会返回设置的语言标识。

内容的提问来源于stack exchange,提问作者Rocky1989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:55:02