`
yiyeqinghuasoon
  • 浏览: 681264 次
文章分类
社区版块
存档分类
最新评论

isnull动态处理所有的动态列 --【叶子】

 
阅读更多

isnull动态处理所有的动态列

-- =================================

-- Author:<Maco Wang>

-- CreateDate:2009-04-03 13:15:35

-- Description:<处理一个表的所有为空列,列是动态添加后的不固定列>

-- =================================

create procedure getnotnull

(

@tablename varchar(100), --表名

@Na varchar(20) --替换null的字符

)

as

begin

declare @sql varchar(8000)

set @sql=''

select @sql=@sql+',isnull(cast('+name+' as varchar),'+@Na+') as '+name

from syscolumns where id=object_id(@tablename) order by colid

set @sql=stuff(@sql,1,1,'')

--print @sql

exec('select '+@sql+' from '+@tablename)

end

--测试数据

go

create table testtb(id int ,nn varchar(20))

insert into testtb

select null,null union all

select null,'a' union all

select 2,null

--处理非空列

go

exec getnotnull 'testtb','0'

go

drop table testtb

/*运行结果

id nn

------------------------------ ------------------------------

0 0

0 a

2 0

*/

分享到:
评论

相关推荐

    MySQL最新基础面试题及答案整理

    - B+树更适用于顺序检索和随机检索,且I/O性能更好,因为所有数据都在叶子节点,且叶子节点间通过指针连接,便于范围查询。 - B+树的内部节点小,可以存储更多关键字,减少I/O次数。 - B+树查询效率更稳定,所有...

    mysql高频面试题及答案

    - 索引是为了快速查找数据,B+树因其平衡特性、所有叶子节点均链接在一起,适合大数据量存储,降低了数据检索的时间复杂度。 这些知识点涵盖了MySQL的基础知识、事务处理、权限管理、查询优化和数据库设计原则,是...

    mysql面试题目2023

    - 避免在WHERE子句中使用IS NULL或OR,可能导致全表扫描。 - 使用SELECT子句指定需要的列,避免使用*。 - 考虑使用覆盖索引以减少回表操作。 10. 覆盖索引和回表: - 覆盖索引:查询列完全由索引覆盖,不需要回...

    mysql面试题大全.docx

    =`或`&lt;&gt;`,`NOT IN`,`IS NULL`或`IS NOT NULL`操作符可能使索引失效。 - 左连接或右连接查询时,如果关联字段的编码格式不一致,可能造成索引失效。 - 当MySQL认为全表扫描比使用索引更快时,会选择全表扫描。 2...

    MySQL经典面试题25道

    - 避免在WHERE子句中使用IS NULL和OR。 - 使用IN和NOT IN时要谨慎,可能触发全表扫描。 - 利用覆盖索引减少回表操作。 10. 覆盖索引和回表: - 覆盖索引:查询列完全由索引覆盖,不需要回表到原始数据行获取...

    MySQL面试经典100题(收藏版,附答案).doc

    =`、`&lt;&gt;`、`NOT IN`或`IS NULL`、`IS NOT NULL`可能导致索引不被使用。 - 左连接或右连接查询时,字段编码格式不一致可能导致索引失效。 - MySQL在判断全表扫描比使用索引更快时,会选择全表扫描。 2. **索引不...

    30道MySQL高分面试题纯干货-含答案.docx

    - 避免在WHERE子句中使用`IS NULL`,`OR`,`IN`操作符,可能导致全表扫描。 - 使用`SELECT`指定需要的列,而非`SELECT *`。 - 考虑覆盖索引和避免回表以提高查询效率。 10. **覆盖索引与回表**: - 覆盖索引:...

    2021-2022计算机二级等级考试试题及答案No.11086.docx

    - 查找空值时,可以使用 IS NULL 或 IS NOT NULL 条件。 - 本题正确答案应该是 A,即尚未存储数据的字段的值。选项 D“空值的长度为零”表述不准确,因为 Null 值并没有长度这一概念。 #### 题目4:数据库参照...

    mysql面试题及答案

    - `is null`和`is not null`操作可能导致索引失效。 - 左连接或右连接查询时,编码格式不一致可能导致索引失效。 - MySQL认为全表扫描比使用索引快时,也可能不使用索引。 2. **死锁的排查和解决** - 查看`show...

    MySQL-数据库经典面试题解析.docx

    =`、`&lt; &gt;`、`NOT IN`、`IS NULL`、`IS NOT NULL`)也可能使索引失效。 - **不适合加索引的场景**:数据量小的表、更新频繁的字段、区分度低的字段(如性别)。 - **索引规则**:了解覆盖索引、回表、B+树数据结构...

    29道经典MySQL面试题

    - 避免IS NULL和OR条件,可能导致全表扫描。 - 考虑使用覆盖索引,减少回表操作。 10. 覆盖索引和回表: 覆盖索引允许查询只从索引中获取所需数据,无需回表查询。回表是指通过二级索引查找到聚簇索引后,还需...

    100道mysql的面试题

    =`或`&lt;&gt;`、`IS NULL`或`IS NOT NULL`等。 - **不适合场景**: 数据量小、更新频繁或区分度低的字段不宜创建索引。 - **索引规则**: 覆盖索引可减少回表操作,B+树作为索引的数据结构,最左前缀匹配原则用于索引使用。...

    mysql数据库常问面试题

    - 在WHERE子句中避免使用IS NULL,改用IS NOT NULL。 - 避免OR连接条件,可能造成全表扫描。 - 尽量不使用*,指定所需列,减少数据传输量。 - 考虑使用覆盖索引,减少回表操作。 10. 覆盖索引和回表: 覆盖...

    总结最近MySQL面试题大全

    =`, `BETWEEN`, `IN`, `NOT IN`, `IS NULL`, `IS NOT NULL`等。 12. **BLOB与TEXT的区别**: - BLOB是二进制大对象,存储二进制数据,排序和比较区分大小写。 - TEXT是用于存储文本数据,排序和比较不区分大小写...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以...

    ORACLE 合辑

    - 使用`IS NULL`和`IS NOT NULL`而不是`=`或`&lt;&gt;`。 - NULL与其他值的算术运算结果也是NULL。 **空值和函数:** - 大多数内置函数能够正确处理NULL值,但在使用时仍需注意。 - 可以使用`NVL`或`COALESCE`函数来替代...

    MySQL 70 道面试题及答案.docx

    MySQL是世界上最受欢迎的...3. B+树所有叶子节点都包含指向相邻节点的指针,方便范围查询,且所有数据都在叶子节点,利于批量读取。 在实际应用中,理解并熟练掌握这些知识点对于MySQL的高效使用和系统优化至关重要。

    2012年3月全国计算机等级考试二级笔试试卷及答案分析[汇编].pdf

    - IS NULL用于查询某个字段为空的记录。 13. **关联关系的维护**: - 在一对多关联中,如果希望"一方"更改时"多方"自动更新,应启用级联更新相关记录。 14. **查询结果**: - 各种查询操作的结果,如分组显示、...

    mysql数据库优化.docx

    - **避免使用 IS NULL 和 IS NOT NULL**:应改为使用比较操作符,如 `SELECT ... FROM DEPARTMENT WHERE DEPT_CODE &gt;= 0`。 - **避免在 WHERE 子句中使用 !=**:MySQL 只对 `, `, `=`, `&gt;`, `&gt;=`, `BETWEEN` 这些...

Global site tag (gtag.js) - Google Analytics