sql 一些偶尔会用到的写法和函数 不定时更新

2023-12-16 08:48

本文主要是介绍sql 一些偶尔会用到的写法和函数 不定时更新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sql 一些偶尔会用到的写法和函数 不定时更新

小数转整数:

--round() 遵循四舍五入把原值转化为指定小数位数,如:
SELECT round(1.45,0) -- =1
SELECT round(1.55,0) -- =2
--floor() 向下舍入为指定小数位数 如:
SELECT floor(1.45) -- =1
SELECT floor(1.55) -- =1
--ceiling() 向上舍入为指定小数位数 如:
SELECT ceiling(1.45) -- =2
SELECT ceiling(1.55) -- =2

其他参考:https://www.w3cschool.cn/sql/sql-numeric-functions.html

 

科学计数法格式转换成数字格式:

SELECT CONVERT(INT, CAST(CAST('1.6e+006' AS FLOAT) AS DECIMAL (19,6)))

 

根据表B的一个字段 更新表A的字段数据:

UPDATE A SET A1=B.B1 FROM B WHERE A.ID=B.ID

 

把表A中的数据复制到表B中(不存在的表):

SELECT * INTO B FROM A WHERE A.TYPE=1

 

把表A中的数据复制到表B中(存在的表):

INSERT INTO B(B1,B2,...) SELECT A1,A2,... FROM A

 行转列(group by  max case when):

select Student as '姓名',
max(case Subject when '语文' then Score else 0 end) as '语文' ,--如果这个行是“语文”,就选此行作为列
max(case Subject when '英语' then Score else 0 end ) as '英语'
from Scores
group by Student
order by Student

 or

select Student as '姓名',
avg(语文) as '语文',
avg(英语) as '英语'
from Scores
pivot(avg(Score) for Subject in (语文,英语))as NewScores
group by Student
order by Student asc

列转行(group by  union all):

SELECT Student,'语文' AS 'Subject',  MAX(YuWen) AS Score FROM TestA GROUP BY Student
UNION ALL
SELECT Student,'数学' AS 'Subject',  MAX(ShuXue) AS Score FROM TestA GROUP BY Student

 

数据库截取字符串中特定字符的左右部分:

--截取A表 F1 字段 _ 字符左边
SELECT LEFT(F1,CHARINDEX('_',F1)-1) FROM A--截取A表 F1 字段 _ 字符右边
SELECT substring(F1,CHARINDEX('_',F1)+1,len(F1)) FROM A

 

 

http://www.w3school.com.cn/sql/index.asp

https://www.w3cschool.cn/sql/

t-sql:

https://www.w3cschool.cn/t_sql/

posted @ 2017-04-15 15:57 青衫仗剑 阅读( ...) 评论( ...) 编辑 收藏

这篇关于sql 一些偶尔会用到的写法和函数 不定时更新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499893

相关文章

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

Python实现阶乘的四种写法

《Python实现阶乘的四种写法》本文主要介绍了Python实现阶乘的六种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录第一种:推导式+循环遍历列表内每个元素相乘第二种:调用functools模块reduce的php累计