希望在输出查询中更改列值

Want columns value to be changed in output query

我有一个 table Test:

 id   |  name    |  hide
  1   |  Paul    |  1
  2   |  John    |  
  3   |  Jessica |  2

现在我有三个问题:

  1. 我希望名称列的值为“PauAjit”,这意味着如果名称的最后一个字符是“L”,则 L 应替换为“Ajit”在输出中

  2. 对于“hide”列,如果值为 Null,则输出应显示 0

  3. 如果名称列的值为 John,则在输出中应将其替换为 Ajit

到目前为止我已经尝试过:

Select name case 
When name = 'paul' 
then replace(name, 'l', 'Ajit')  else name end from Test
SELECT id, 
CASE WHEN name = 'John' 
     THEN 'Ajit' 
     WHEN RIGHT(name,1) = 'l' 
     THEN LEFT(name,3) + 'Ajit' 
     ELSE name 
     END AS name,
ISNULL(hide,'0')
FROM table

我希望名称列的值为 'PauAjit',这意味着如果名称的最后一个字符是 'L',则输出中的 L 应替换为 'Ajit'。

SELECT
    CASE WHEN RIGHT(Name,1) = 'L' THEN STUFF(Name,LEN(Name),1,'Ajit') ELSE Name END
FROM
    MyTable

对于 'hide' 列,如果值为 Null,则输出应为此显示 0。

SELECT
    ISNULL(Hide,'0')
FROM
    MyTable

如果名称列的值为 John,则在输出中应将其替换为 Ajit。

SELECT
    CASE WHEN Name = 'John' THEN 'Ajit' ELSE Name END
FROM
    MyTable