前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有意思的一行SQL代码

有意思的一行SQL代码

作者头像
cultureSun
发布2023-05-18 14:37:20
2230
发布2023-05-18 14:37:20
举报
文章被收录于专栏:cultureSun学安全cultureSun学安全

简介

逛公众号的时候看到了一篇有意思的技术文章----一行SQl代码能做什么? 在此记录一下,尊重原创,故:

150514.png
150514.png

详解

  1. 复制表结构 SELECT * INTO Customers_bak FROM Customers WHERE 1=2; 或者 SELECT TOP 0 * INTO Customers_bak FROM Customers; 可以得到与Customers 表结构一样的Customers_bak ,而且Customers_bak 中没有数据。
    1. 查询表里是否存在数据 SELECT TOP 1 1 FROM Customers
    2. 随机获取一行数据 SELECT TOP 1 * FROM Customers ORDER BY NEWID();
    3. 获取第6到10行的记录 SELECT TOP 5 * FROM (SELECT TOP 10 * FROM Person ORDER BY ID ) a ORDER BY ID DESC
    4. 对空值赋默认值 SELECT ISNULL(Price,0) FROM Orders

    注:Price为空值时会默认赋0

    1. 将日期转换成文本格式 SELECT CONVERT(VARCHAR(10),CreateDate,120) FROM Students

    注:CreateDate为带时间的完整日期格式,执行后会得到不带时间的字符串,如'2020-05-31'

    1. 删除重复记录(除了主键不同,其他字段均相同)

    表Person数据如下:

640.png
640.png

删除其中除ID以为其他都重复的记录 DELETE FROM Person WHERE ID NOT IN (SELECT MAX(ID) FROM Person GROUP BY Name,Age,Sex,Phone)

  1. 保留2位小数 SELECT CAST(Amount as NUMERIC(18,2)) FROM Orders

注:Amount是带2位以上的小数格式,转换后的小数会四舍五入。

  1. 查询当前数据库中的所有表名 SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
  2. 查询某个表里的所有列名 SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('Person')
  3. 将B表中的字段内容更新到A表 UPDATE A SET A.Name=(SELECT B.Name FROM B WHERE A.ID=B.ID)
  4. 获取笛卡尔积 SELECT A.*,B.* FROM A,B
  5. 按姓氏笔画多少排序 SELECT Name FROM Person ORDER BY Name Collate Chinese_PRC_Stroke_CI_AS
  6. 延迟3秒执行查询语句 WAITFOR DELAY '0:0:3' SELECT * FROM Person
  7. 将查询结果转换为XML格式 SELECT * FROM Person WHERE ID=1 FOR XML PATH
  8. 将小数转换成百分数 SELECT CAST(CAST((0.8888*100) AS NUMERIC(18,2)) as VARCHAR(20)) + '%'
  9. 处理除数为0 SELECT ISNULL(A/NULLIF(B,0),1) FROM TABLEA

或者 SELECT CASE WHEN B=0 THEN 1 ELSE A/B END FROM TABLEA 注:A为任意数值,B为0

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 详解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档