平时常用sql_sql常用函数

平时常用sql_sql常用函数总结一下平时用到最多的sql语句 1.特殊日期 –今天凌晨SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)–明天凌晨SELECT DATEADD(dd,D

 

总结一下平时用到最多的sql语句

 

1.特殊日期

–今天凌晨
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)
–明天凌晨
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE())+1,0)
–当周周一(每周从周日开始)
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
–当月的第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)
–当月的最后一天
SELECT DATEADD(dd,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0))
–今年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)
–今年的最后一天
SELECT DATEADD(dd,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0))

2.字符串处理

–去除空格
SELECT LTRIM(col1),RTRIM(col2),LTRIM(RTRIM(col3)) FROM tableName

SELECT
SUBSTRING(col1,3,2) –从第3个字符开始截取2个,得到截取的2个字符
,STUFF(col2,3,2,””)–从第3个字符开始删除2个,得到剩下字符
,STUFF(col3,3,2,”XXX”)–从第3个字符开始,将第3、4两个字符替换成XXX
,REPLACE(col4,”old”,”new”)–将col4中的old全部替换成new
FROM tableName

–将列col1用,拼接起来
SELECT STUFF((SELECT “,”+col1 FROM tableName WHERE 过滤条件 FOR XML PATH(“”)),1,1,””)

–多位流水号,用0或空格补充 例如A000001,A000002……,前缀可为固定字符,或者可变的年、月、日等

DECLARE @flowNo AS VARCHAR(10)
DECLARE @nextNo AS int
SELECT @flowNo = MAX(flowNo) FROM tableName WHERE 过滤条件
IF(@flowNo IS null)
SET @flowNo = “A000001”
ELSE
BEGIN
SET @nextNo = RIGHT(@flowNo,6)+1
SET @flowNo = LEFT(@flowNo,1)+REPLICATE(“0”,6-LEN(@nextNo))+CONVERT(VARCHAR(6),@nextNo)
END
SELECT @flowNo;–要获取的流水号

 

–年 2001对应1,2009对应9,2010对应A,2035对应Z,2035之后的可自行调整
SELECT SUBSTRING(“123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”,(YEAR(GETDATE())-2000)%36,1)

–月 10月,11月,12月分别对应A,B,C
SELECT SUBSTRING(“123456789ABC”,MONTH(GETDATE()),1)

–月 英文简写
SELECT SUBSTRING(“JanFebMarAprMayJunJulAugSepOctNovDec”,(MONTH(GETDATE())-1)*3+1,3)

–日 1号对应1,9号对应9,10号对应A,以此类推
SELECT SUBSTRING(“123456789ABCDEFGHIJKLMNOPQRSTUV”,DAY(GETDATE()),1)

 

3.辅助

–去除重复数据,数据表中有很多重复数据,如果其中col1,col2,col3,col4,col5可以表示出每一组重复数据
;WITH cte AS
(SELECT col1,col2,col3,col4,col5
,ROW_NUMBER()OVER(PARTITION BY col1,col2,col3,col4,col5 ORDER BY col1) AS rn
FROM tableName)
DELETE FROM cte WHERE rn > 1

–快速打开存储过程、视图等
sp_helptext 存储过程名称 –名称前不要加dbo.等所有者
sp_helptext 视图名称 –名称前不要加dbo.等所有者

–用到了某些字符串的视图,存储过程
SELECT a.name,b.[text]
FROM sysobjects a
INNER JOIN syscomments b ON a.id = b.id
WHERE b.[text] LIKE “%你要查的字符串%”
AND a.xtype=”v”–“p”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10450.html

(0)
上一篇 2022-12-27
下一篇 2022-12-27

相关推荐

  • 常见SQL编写和优化[通俗易懂]

    常见SQL编写和优化[通俗易懂]常见的SQL优化方式 1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where及order by 涉及的列上建立索引 。 2. 应尽量 避免 在 where 子句中对字段进行null 值判断

    2022-12-24
    124
  • 连接 sql

    连接 sqljava连接sqlserver Spring中连接sqlserver C 连接sqlserver QT连接数据库

    2022-12-17
    121
  • MySQL学习「终于解决」

    MySQL学习「终于解决」MySQL 学习 1. 数据库的分类 1.1 关系型数据库: MySQL、Oracle等 通过表与表、行与列的关系进行存储数据。 1.2 非关系型数据库: Radis等 通过存储对象来存储数据,数据由

    2023-06-12
    125
  • Python TTK Represents:构建高效GUI界面的利器

    Python TTK Represents:构建高效GUI界面的利器Python 作为一种强大的编程语言,拥有广泛的程序库和工具,使其成为日益流行的编程语言之一。它有非常丰富的 GUI 库,使用这些库可以快速地构建出美观、高效的图形用户界面(GUI)应用程序。而 Tkinter 是 Python 的标准 GUI 库,很多 Python 开发者都使用它来创建 GUI 应用程序。但是,一些 Python 开发者并不喜欢 Tkinter 的样式,因此 Tkinter 的一种改进模块—ttk 库应运而生。

    2024-01-14
    73
  • More JOIN operations — SQLZOO

    More JOIN operations — SQLZOO The JOIN operation 注意:where语句中对表示条件的需要用单引号, 下面的译文使用的是有道翻译如有不正确,请直接投诉有道 01.List the films where …

    2023-03-30
    162
  • 通俗理解大数据及其应用价值[通俗易懂]

    通俗理解大数据及其应用价值[通俗易懂]​大数据概述 在大数据这个概念兴起之前,信息系统存储数据的方法主要是我们熟知的关系型数据库,关系型数据库,关系型模型之父 Edgar F. Codd,在 1970 年 Communications o

    2023-05-15
    124
  • 加速Python代码的几个技巧

    加速Python代码的几个技巧Python是一门灵活且易于学习的编程语言,但某些情况下,Python代码可能会运行缓慢。为了克服这个问题,本文将介绍几个加速Python代码的技巧,包括使用列表推导式、使用生成器、使用装饰器等。

    2023-12-23
    92
  • 南宁哪里可以开电线电缆发票-中国-新闻网[亲测有效]

    南宁哪里可以开电线电缆发票-中国-新闻网[亲测有效]南宁哪里可以开电线电缆发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Andro…

    2023-02-02
    128

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注