从sql命令返回值

时间:2017-06-01 10:10:50

标签: mysql sql

我目前正在使用SQL命令

Select * from where name='john'

无论查询是否可以返回20,例如

Select * from where name='john' or return = 20

3 个答案:

答案 0 :(得分:2)

修改 如果你有一个oracle数据库,你可以这样做:

SELECT * 
FROM dual
WHERE 1=0
UNION
SELECT '20'
FROM dual;

答案 1 :(得分:1)

检查我的答案

 if exists (Select * from item where ItemName='ABC Daycare1')
  begin
  Select * from item where ItemName='ABC Daycare1'
  end
  else
  select '20'

答案 2 :(得分:0)

尝试运行此功能。这应返回最高结果(由于自定义排序而不是20),然后当名称与值不匹配时,它返回'Mark'和20

<强> SQL

IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp

CREATE TABLE #temp (id int NOT NULL, name varchar(255) NOT NULL)

INSERT INTO #temp (id, name) VALUES (88,'John')
INSERT INTO #temp (id, name) VALUES (20,'Mark')

SELECT TOP 1 
    * 
FROM #temp 
WHERE (name = 'Mark' OR name = 'John') 
ORDER BY (
    CASE
        WHEN id = 20 THEN 0 ELSE 1
    END) DESC

MySQL - MySQL fiddle

IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp

CREATE TABLE #temp (id int NOT NULL, name varchar(255) NOT NULL)

INSERT INTO #temp (id, name) VALUES (88,'John')
INSERT INTO #temp (id, name) VALUES (20,'Mark')

SELECT 
    * 
FROM temp 
WHERE (name = 'Mark' OR name = 'John') 
ORDER BY (
    CASE
        WHEN id = 20 THEN 0 ELSE 1
    END) DESC
LIMIT 1