首页 > 数据库 >sqlserver 使用总结

sqlserver 使用总结

时间:2024-08-02 17:20:32浏览次数:15  
标签:总结 10 12 -- 32 使用 sqlserver 2023 select

 

1.日期或时间 加/减 天数/分钟/秒
①DATEADD(YEAR/MONTH/DAY/HOUR/MINUTE/SECOND, #int数字, #date/datetime类型) 日期或时间 减 年/月/日/小时/分钟/秒
②DATEDIFF(YEAR/MONTH/DAY/HOUR/MINUTE/SECOND, #date/datetime类型, #date/datetime类型) 两个日期或时间类型相减,取年/月/日/小时/分钟/秒

select DATEADD(day, -10, '2023-12-30 12:32:15') --2023-12-20 12:32:15.000
select DATEADD(day, 15, '2023-01-01') --2023-01-16 00:00:00.000
select DATEADD(hour, -10, '2023-12-30 12:32:15') --2023-12-30 02:32:15.000
select DATEADD(minute, -10, '2023-12-30 12:32:15') --2023-12-30 12:22:15.000
select DATEADD(second, -10, '2023-12-30 12:32:15') --2023-12-30 12:32:05.000


select DATEDIFF(DAY,'2023-04-03','2023-10-09')    --6
select DATEDIFF(MONTH ,'2023-02-03','2023-10-09')    --8
select DATEDIFF(YEAR ,'2020-02-03','2023-10-09')    --3
select DATEDIFF(HOUR ,'2023-10-09 10:15:07','2023-10-09 12:32:15')
select DATEDIFF(MINUTE ,'2023-10-09 12:15:07','2023-10-09 12:32:15')    --17
select DATEDIFF(SECOND ,'2023-10-09 12:32:07','2023-10-09 12:32:15')    --8

 

2.类型转换

int转字符串 CAST(h.DateKey AS VARCHAR(10))
字符串转日期 CAST(#datestr AS DATE)
时间转日期 CONVERT(date,#datatime时间类型)
date或datetime类型字段可以通过直接取年/月/日/小时/分钟/秒,如:YEAR/MONTH/DAY/HOUR/MINUTE/SECOND(#date/datetime类型)
DATENAME(weekday, #datetime类型) --展示日期对应的星期,返回值如:星期日

DATEPART(YEAR/MONTH/DAY/HOUR/MINUTE/SECOND, #datetime) 取时间类型的年/月/日/小时/分钟/秒

 

select CAST(123456 AS VARCHAR(10));    --123456 类型:varchar(10)
select CAST('20240623' AS DATE);   --2024-06-23
select CONVERT(date,'2023-12-30 12:32:15');    --2023-12-30
select CONVERT(date,datetime类型);    --2023-12-30

 

--如下datatime为datetime类型
select
CONVERT(date, datatime),
DATEPART(year, datatime) year1,
DATEPART(month, datatime) month1,
DATEPART(day, datatime) day1,
DATEPART(hour, datatime) hour1,
DATEPART(minute, datatime) minute1,
DATEPART(second, datatime) second1
from Summary_ele_Ten;


如一个int类型的字段,如20,220,131,要转换成字符串,要取年份,要转换成date类型
select
20220131,
CAST(20220131 AS VARCHAR(10)),    --int转字符串
SUBSTRING(CAST(20220131 AS VARCHAR(10)), 0, 5) year1,    --字符串取年
CAST(CAST(20220131 AS VARCHAR(10)) AS DATE) datekey1;    --字符串转日期

 

3.字符串截取
SUBSTRING(#str,start,length)


4.sqlserver没有limit,可使用排序后取top(1)代替,

SQL Server中的TOP关键字用于限制查询结果的行数。‌可以与ORDER BY子句结合使用,‌以便根据特定的排序规则返回前N个记录。‌
如下:

 

5.concat(#str1,#str2,...)    字符串拼接
如:concat(DATEDIFF(MINUTE, e.BeginTime,e.EndTime),'min')

 

6.声明变量和变量引用
如:
declare @page_begintime DateTime
declare @page_endtime DateTime
set @page_begintime = '2024-05-04 00:00:00.000'    -- 页面选择的开始时间
set @page_endtime = '2024-06-17 23:59:59.998'    -- 页面选择的截止时间

-- 引用:
@page_begintime

 

7.时间格式化
FORMAT(#datetime, 'yyyy-MM-dd HH:mm:ss')

 

8.ISNULL(#字段, 0)     如果字段值为null,就设置成0,用于求和时的处理,因null+数值为null,如 sum(ISNULL(#字段, 0))

标签:总结,10,12,--,32,使用,sqlserver,2023,select
From: https://www.cnblogs.com/plzh/p/18339179

相关文章

  • IndexError:列表索引超出范围使用谷歌视觉
    importioimportosos.environ["GOOGLE_APPLICATION_CREDENTIALS"]="future-shuttle-323208-1e6aebdb018d.json"#ImportstheGoogleCloudclientlibraryfromgoogle.cloudimportvisionfromPILimportImageimportcv2write1=[]wr......
  • .net项目使用Docker部署(包括解决后台验证码,部署后不显示的问题)
    Vue部署到Docker参考文档:手把手教你用Docker部署Vue3项目_docker部署vue3项目-CSDN博客参考文档:dockerfile部署前端vue项目_vuedockerfile-CSDN博客nginx文档:使用docker安装nginx-静以修身俭以养德-博客园(cnblogs.com)结合使用了两个文档的方法和DockerFIle区别......
  • Vue 使用 vue-drag-resize 实现拖拽和随意缩放大小及安装报错处理
    一、vue-drag-resize的安装yarnaddvue-drag-resize 下面是错误解决方案:TypeError:Cannotreadpropertiesofundefined(reading‘_c’) 解决方案:在引入时加上“/src”: importVueDragResizefrom"vue-drag-resize";改成importVueDragResizefrom"vue-d......
  • 使用 matplotlib 对簇柱形图和折线图进行动画处理
    我正在尝试制作一个逐帧更新的动画图表,以使最终结果的每个x轴条目有两列(在年份或年份和Q之间确实有所不同,但无论哪种方式都是字符串)和一条线。|||我有两个数据框,在这种情况下我读到了帮助。df和df_line{'GDP':{'2013Q1':6.2,'2013Q2':6.1,'2013Q3':6.63,......
  • 如何使用Python代码获取Power Bi Visual Level数据
    我有一个Powerbi报告,托管在本地报告服务器上。现在我想使用python代码检索视觉级别数据。例如,我有一个卡片视觉效果,显示为“100”,这个“100”是根据度量计算的,对于某些视觉效果,该值直接来自数据集中的列值。现在我想检索测量值为“100”,而且我还需要直接来自python代......
  • 如何使用 Python 在 2D 曲面上切割 3D 体积?
    考虑3D中的闭合表面网格(mesh1),由两个合并块组成,如图所示。两个合并块,具有不同颜色的细分补丁。网格以STL文件形式给出,并被细分分成不同的补丁。每个面片都在STL文件中保存为单独的实体。此外,我有一个由STL文件给出的弯曲2D表面网格(......
  • 【Dynamo】AnyCAD使用Dynamo绘制三维模型(一)——效果展示
    说明:AnyCAD为国产CAD,官网为:AnyCAD图形平台参考代码:https://gitee.com/anycad/anycad.visualprogramming.git参考代码的AnyCAD为2024版本项目采用AnyCAD版本为2022.10.24,由于缺少一些2024版本的关键API,采用了和参考项目不一样的创建模型和展示模型的方式来实现和参考项......
  • 【Spark高级应用】使用Spark进行高级数据处理与分析
    Spark高级应用使用Spark进行高级数据处理与分析引言在大数据时代,快速处理和分析海量数据是每个企业面临的重大挑战。ApacheSpark作为一种高效的分布式计算框架,凭借其高速、易用、通用和灵活的特点,已经成为大数据处理和分析的首选工具。本文将深入探讨如何使用Spark进行......
  • SpringCloud EasyConfig介绍与使用
    maven引入方式<dependency><groupId>icu.liufuqiang</groupId><artifactId>spring-cloud-easy-config-starer</artifactId><version>0.1.0</version></dependency>仓库地址https://gitee.com/LiuFqiang/spring-c......
  • Kotlin 字符串教程:深入理解与使用技巧
    Kotlin字符串字符串用于存储文本。字符串包含由双引号包围的字符集合:示例vargreeting="Hello"与Java不同,您不必指定变量是字符串。Kotlin足够智能,可以通过双引号理解上例中的greeting变量是字符串。然而,与其他数据类型一样,如果您坚持,可以指定类型:示例vargreeti......