最近看到一个SQL Server的小例子,发现完全可以作为SQL server的一道入门面试题。题目如下:
例:有一合同表Contract
Id Name Total buget
1 合同名称 100 102,22
2 合同名称2 300 ,102,22,
3合同名称3 200 ,103,23,
要求:用SQL语句更新表的buget字段,如果前后没有","要加上","(即一个英文逗号)。(10分)
创建表数据:
分析:这道题乍看很简单,由于肯定用到Replace,所以很自然的结合left,right,从而得到以下语句
方法一
:
如果能写成一个 SQL语句,可以加1分。
如果能从字符串的开关和结尾这个思路出发,结合Reverse,可以提到如下方法:
方法二:
该方法,主要涉及charindex函数和reverse函数。
说实话,我当时就这两种思路,这也是SQL中常见的基本用法。但出人意料的第三种方法出现了。
方法三:
解析:该方法最主要的亮点不在于语法的精妙,而在于其思路的异于常规。先给两边补上逗号,再替换双逗号为单逗号。这在实际编程中确实难能可贵。换句话说,如果没有事先思考过的话,这反映了解题者反应敏捷,思路开放。因此,至少可以再加3分。
当然,此语句其实还是有bug,比如如果原bug字段中间有两个逗号,那么在Replace时就会更新掉不应该更新的内容。不过,稍加修正,限定replace的范围即可,
受此思路启发,可以引申得到以下类似方法:
方法四:
该方法是先去掉两边的逗号,再给每条记录加上逗号,比起方法三来,稍显繁琐,这也反衬了方法三的巧妙。
当然,也可以结合前面的思路稍作修正,这里就不再赘述,请读者自己思考。
感悟:释迦牟尼说过“人生需要经过六项修炼:布施、持戒、忍辱、精进、禅定、智慧。”,SQL编程,或C#、Java,甚至Javascrip的某个领域也是如此。技术是死的,思路是鲜活的,
有时候,思路能轻易地突破技术很难实现的死角
。
到了一定程度时,会发现潜意识里已经被惯性思维塞满,而无法接受新鲜思维方式或思路,如果一段时间内持续如此,那么,我们应该警醒,把自己的头脑放空,把自己置于一个初学者的地位,重新开始“精进”的修炼!
邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn
分享到:
相关推荐
**SQL Server 2005 入门指南** SQL Server 2005 是微软公司推出的数据库管理系统,是SQL Server系列中的一个重要版本。它提供了强大的数据存储、管理和分析功能,适用于各种规模的企业应用。这份“SQL Server 2005...
1、sqlserver2005概述 2、T-SQL查询 3、事务与锁 4、索引 5、约束、同义词、缺省值、自定义数据类型、规则 6、视图、存储过程、函数、游标与触发器 7、数据库安全 8、备份与恢复 9、分区表 10、数据库优化 11、开发...
#### 五、常见SQL面试题 1. **解释ACID属性**: - 原子性(Atomicity): 事务作为一个整体执行,要么全部完成,要么不执行。 - 一致性(Consistency): 事务的执行结果必须使数据库从一个一致性状态转换到另一个一致性...
(3)手册还整理了大量SQL Server的经典面试题,涵盖了基础知识、技巧应用、常见问题等多个方面,帮助您更好地应对面试挑战,展现自己的专业水平。(4)本手册适用于广大数据库管理员、开发人员、测试人员以及对SQL ...
│ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念...
│ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念...
│ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念...
│ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念...
### 软件测试经典面试题及答案解析 #### 兼容性测试及其侧重方面 兼容性测试是一种评估软件在不同环境下是否能够正常运行的测试方法。这些环境可能包括不同的操作系统、硬件配置、网络环境以及其他相关软件等。...
JavaEE是企业级应用开发的重要平台,其面试题涵盖了广泛的Java基础知识、Web技术和三大主流框架:Spring、SpringMVC、Hibernate以及Mybatis。下面将详细阐述这些知识点。 **1. Java基础知识** Java语言是面向对象的...
散文集 1 source 1 ss vc 1 入门 2 1 面试题 1 delphi 1 java 1 经典 1 基础 1 全集 1 windows 2 1 管理 1 设计 1 数据库 1 数据结构 1 1800例 1 电子书 1 c++沉思录 1 答案 1 server 1 sql 1 edition 1 3rd 1 ...
### C#面试题详解:掌握核心概念,迈向高薪之路 在IT行业,尤其是软件开发领域,精通一门语言并能够熟练应用其特性进行高效编程,是获取理想职位的关键。C#作为微软.NET框架的核心编程语言之一,其强大的功能、丰富...
5. **SQL Server从入门到精通**: - SQL是用于处理关系型数据库的语言,掌握SQL的基础语法(如SELECT查询、INSERT、UPDATE、DELETE操作),以及高级特性如JOIN、子查询、存储过程和触发器,对于数据库相关的面试至...
│ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念...
技巧(1) windows(2)(1) pc-lint(1) insight(1) source(1) 入门(2)(1) ss,vc(1) 基础(1) delphi(1) 面试题(1) .source(1) in(1) thinking(1) 设计(1) 数据库(1) server(1) 管理(1) 数据结构(1) 电子书(1) c++沉思录(1...
一名入门的asp.net程序员应该掌握的知识: (1)熟练使用Sql Server中企业管理器、查询分析器和事件探查器,能熟练编写T-SQL、存储过程、用户自定义函数、视图、触发器; (2)了解ASP.net服务器控件的生命周期; ...
在这个压缩包文件中,"Doctext"可能包含历年计算机等级考试和面试题的相关文档,这将为准备这些考试或面试的人员提供宝贵的参考资料。通过学习和实践这些题目,可以巩固和提升上述各个领域的知识水平,增强解决实际...
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看...11 强插一道面试题 12 Model连表操作梳理 13 多对多自关联 14 Model操作补充 15 再插两道JavaScript面试题 16 Model操作之select_related以及...
因为只允许传60M以下就只罗列以下手册了哈 《 ADOdb.Manual ...史上最全的IT面试题集 易语言专用API函数命令8 样式表滤镜手册 正则表达式30分钟入门教程 精美购物电子书 花之盟原型 (2) 花之盟原型
3. **系统架构**:VB试题库系统可能采用客户端/服务器(C/S)架构,前端使用VB进行用户界面设计,后端则可能采用SQL Server等数据库管理系统存储试题数据。系统的数据结构设计和数据库设计是关键部分,需要合理规划...