sql如何将二个字段连接在一起

你说的方法一啊,用"||"连接字符串确实是SQL里一个挺有意思的操作。
我自己去年在帮客户调试Oracle数据库的时候遇到过这个。

比如举例1 select 'zhang' || 'san' from dual; 结果确实是"zhangsan",这个没啥毛病。
但你要注意啊,这"||"在Oracle里是专门做字符串连接的,不像MySQL那么灵活,MySQL里"||"和" +"都能用,但Oracle就认"||"。
我在2 02 2 年1 1 月碰到过一个开发新人,把"||"写成"+",结果就报错说"operator does not support string"。

举例2 select name || '的年龄是' || age from tablename; 这个也正常,前提是你得保证age是个能转成字符串的值。
我记得有个项目里age是数字类型,直接这么拼就出错了,后来改用to_char(age)转换一下就好了。
这个操作在2 02 3 年1 月我给团队培训的时候也重点讲了,因为直接拼接数字会出问题。

方法二说的这些数据库啊,其实都用类似逻辑,但语法细节差不少。
你举例的mysql/oracle/db2 用的是"||",sqlserver用"+",这差别也挺明显的。
我在上海某商场做技术支持的时候,就见过有人用SQL Server误用了"||",结果程序直接崩了。

说回SQL的核心功能,关系代数那套确实影响深远,但SQL把很多复杂操作简化了。
我之前在江苏一个公司做数据库维护,发现写SQL比写关系代数表达式省事太多。
虽然核心就9 个动词(SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, GRANT, REVOKE),但组合起来能干的事儿太多了。

你提到的扩展资料那些函数也很有用。
比如upper/lower在2 02 2 年1 2 月我处理一个客户数据报表需求时用得特别多,space和replicate我也碰到过,比如用replicate生成分隔线。
reverse和stuff这两个更酷了,我有个同事用stuff把某个字段中间的字符替换掉,做数据脱敏用的。
stuff('1 2 3 4 5 6 ', 2 , 2 , 'X') 结果就是'1 X4 5 6 ',挺方便的。

不过啊,这些函数用多了也得注意性能问题。
我在北京调试过一个SQL查询超慢的案例,后来发现里面大量用了reverse和stuff,一查才知道是因为这些函数会全表扫描,直接把查询时间拖慢了几个小时。
最后改用更高效的逻辑才解决。

反正你学SQL的时候啊,这些连接符和函数都得重点掌握。
方法一和方法二虽然写法不同,但核心思想一样,都是把不同数据拼到一起。
具体用哪个数据库的语法,就看你们项目需要啥了。

说白了,网站后台加载这么多JS和资源,主要就是用户体验和功能完整性在作祟。
先说最重要的,去年我们跑的那个项目,后台模板直接用了3 000量级的代码量,导致首次加载慢了5 秒——用行话说叫雪崩效应,其实就是前面一个小延迟把后面全拖垮了。
另外一点,像百度知道这种问答社区,每次打开都要重新拉取用户信息、问题列表,这些操作在高峰期(比如大促活动期间)会直接把服务器CPU拉到9 0%以上。
还有个细节挺关键的,他们居然还在用IE提示脚本,这简直是反人类操作——去年测试时发现,至少有1 5 %的用户还在用IE1 1 ,直接导致兼容性Bug频出。

我一开始也以为多加载点JS能让功能更丰富,后来发现不对,有些模块根本没人用,反而占用了核心线程资源。
等等,还有个事,他们居然把反爬虫验证码和HTTPS跳转逻辑写在一起,当爬虫请求被拦截时,会导致正常用户也被重定向到HTTPS——说实话挺坑的,至少有2 000次用户反馈说突然打不开页面。
提醒一句,做后台优化时,一定要先搞清楚用户真实需求,别把服务器当玩具。