gpt4 book ai didi

sql - 检查 ROW 中的 EMAIL 格式并在 SELECT 查询中返回值

转载 作者:行者123 更新时间:2023-12-04 15:20:42 25 4
gpt4 key购买 nike

我有一个名为 user_data 的表和几列,例如 LOGIN_NAME

LOGIN_NAME 列可能包含“emailformat@email.com”或仅包含“用户名”

我需要知道是否可以运行选择查询并在行具有电子邮件类型格式时返回 emailAddress,否则在非电子邮件格式时返回 userName。

示例 - (我正在尝试用它创建一个 JSON 格式):

这里的 signInType 是 userName 因为 Markus Dave 是一种非电子邮件格式(LOGIN_NAME 是一行的值 Markus Dave ->

        {
"signInType": "userName",
"issuerAssignedId": "Markus Dave"
}

这里的 signInType 是 emailAddress,因为 follyrichard@gmail.com 是一种电子邮件格式(LOGIN_NAME 是一行,其值为 follyrichard@gmail.com

            {
"signInType": "emailAddress",
"issuerAssignedId": "follyrichard@gmail.com"
}

这是我可以生成的查询:

SELECT 'signInType' AS signInType
, LOGIN_NAME AS issuerAssignedId
FROM USER_DATA
FOR JSON AUTO;

对于 signInType 字段,我需要使用相同的字段 LOGIN_NAME 并检查它是否是电子邮件,然后根据它准备。

我的表中有 10 个用户,我需要创建 10 个字段 JSON。

最佳答案

您应该能够使用 case 表达式:

SELECT (CASE WHEN LOGIN_NAME LIKE '%@%' THEN 'emailAddress' ELSE 'userName' END) as signInType,
LOGIN_NAME AS issuerAssignedId
FROM USER_DATA
FOR JSON AUTO;

关于sql - 检查 ROW 中的 EMAIL 格式并在 SELECT 查询中返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63375892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com