小编use*_*723的帖子

为什么要同时使用 TRUNCATE 和 DROP?

在我工作的系统中有很多使用临时表的存储过程和 SQL 脚本。使用这些表后,最好删除它们。

我的许多同事(几乎所有人都比我更有经验)通常会这样做:

TRUNCATE TABLE #mytemp
DROP TABLE #mytemp
Run Code Online (Sandbox Code Playgroud)

我通常DROP TABLE在我的脚本中使用单个。

在 aTRUNCATE之前立即执行 a 有什么好的理由DROP吗?

sql-server sybase truncate

105
推荐指数
2
解决办法
4万
查看次数

sybase 格式日期时间 yyyymmdd

这似乎是一件微不足道的事情很容易,但我找不到一个好的方法来做到这一点。

这就是我想出的:

select convert(numeric,
                    (select convert(varchar,datepart(yy,getdate())) + 
                         right('0' + convert(varchar,datepart(mm,getdate())), 2) +
                         right('0' + convert(varchar,datepart(dd,getdate())), 2)
                    ))
Run Code Online (Sandbox Code Playgroud)

编辑:我知道它不需要这样的子查询,但忽略 =p

sybase date-format

4
推荐指数
1
解决办法
3万
查看次数

解决 NOT IN NULL 问题的最佳方法?

有很多解释为什么 NOT IN NULL 不起作用,但我没有看到任何解决方案。(最近的问题在这里:为什么 NOT IN 包含 NULL 的集合总是返回 FALSE/NULL?

我有 6 个存储过程的可选参数,用于过滤查询的某个值。以前的开发人员做了这样的事情:

IF @var1 IS NULL AND ..... 

    select ...

else

    select ...
    where value in (@var1, ...)
Run Code Online (Sandbox Code Playgroud)


我不是特别喜欢这个。(查询非常庞大),所以我决定选择这样的东西:(
无论如何,我们在临时表中得到了结果)

IF @var IS NOT NULL OR ...

    delete from #temp where value not in (@var1,...)
Run Code Online (Sandbox Code Playgroud)


但我意识到这行不通。

我唯一能想到的就是创建另一个临时表,该表将只保存@var1 等中的非空值(使用 if 语句或删除 where 为 NULL),然后对该表进行连接删除。

有没有更好的办法?

null stored-procedures sybase except

3
推荐指数
1
解决办法
5645
查看次数