我被问到一个问题,我必须在其中编写一个TSQL函数,以检查部门表中是否存在部门编号。
以下是DEPARTMENT表中存在的记录:-
DINT DNAME MGRSSN MGRSTARTDATE TOTAL_SALARY
----------- -------------------- ----------- ------------ ------------
1 Headquarters 888665555 1981-06-19 55000
4 Administration 987654321 1995-01-01 98000
5 Research 333445555 1988-05-22 136000
因此,如果我通过1作为参数,则应该返回“ YES”,因为表中存在DINT = 1,如果我通过9作为参数,则应该返回“ NO”。
我真的不知道如何解决这个问题。我试图弄清楚如何在SQL SERVER中使用BIT,但没有任何结果。该功能应包含一个参数,即部门号,可以表示为DNO。
如果部门表中存在部门编号,我只希望此函数返回“ YES”,否则返回“ NO”。
答案 0 :(得分:1)
CREATE FUNCTION existDept
(
@dno AS integer
)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @return_value VARCHAR(MAX);
SET @return_value = 'NO';
SELECT @return_value = 'YES'
FROM dept
WHERE department_id = @dno;
RETURN @return_value;
END;
测试
SELECT dbo.existDept(1);
SELECT dbo.existDept(7);
答案 1 :(得分:0)
在一个SQL查询中:
select IIF((select count(*) FROM DEPARTMENT where DINT=@yourParam) > 0, 'Yes', 'No') as Result
您需要用正确的参数替换@yourParam
。
答案 2 :(得分:0)
请尝试一下。
Declare @dint as int
set @dint='1'
SELECT case when count(DINT)>0 then 'Yes' else 'No' end FROM DEPARTMENT
where DINT=@dint;
答案 3 :(得分:-1)
行数https://www.php.net/manual/en/pdostatement.rowcount.php
示例:
var pageToken = null;
// Using the NPM module 'async'
async.doWhilst(function (callback) {
drive.files.list({
q: "mimeType='image/jpeg'",
fields: 'nextPageToken, files(id, name)',
spaces: 'drive',
pageToken: pageToken
}, function (err, res) {
if (err) {
// Handle error
console.error(err);
callback(err)
} else {
res.files.forEach(function (file) {
console.log('Found file: ', file.name, file.id);
});
pageToken = res.nextPageToken;
callback();
}
});
}, function () {
return !!pageToken;
}, function (err) {
if (err) {
// Handle error
console.error(err);
} else {
// All pages fetched
}
})
这只是一个示例,但是可以通过多种方式完成,发布您的代码,以便更好地实现