当前位置: 首页 > article >正文

SQL Server 常用关键词语法汇总

一、函数

1.1 CAST

CAST ( expression AS data_type [ ( length ) ] )
  • expression: 这是你想要转换的数据或表达式。
  • data_type: 目标数据类型,比如 INT, VARCHAR, DATE
    等等。
  • (length): 对于某些数据类型(如 CHAR, VARCHAR, BINARY,
    VARBINARY),可以指定长度。对于其他数据类型,这个参数是可选的或不适用的。

示例
字符串转换为整数

SELECT CAST('123' AS INT) AS ConvertedValue;

整数转换为字符串

SELECT CAST(123 AS VARCHAR(10)) AS ConvertedValue;

日期转换

SELECT CAST('2023-01-01' AS DATE) AS ConvertedDate;

浮点数转换为整数
需要注意的是,当将浮点数转换为整数时,SQL Server 会进行截断而不是四舍五入。

SELECT CAST(123.456 AS INT) AS ConvertedValue; -- 结果为 123

转换为布尔值
在 SQL Server 中,并没有直接的布尔类型,但是你可以使用位(bit)类型来表示布尔值。

SELECT CAST(1 AS BIT) AS ConvertedBoolean; -- 结果为 1(真)
SELECT CAST(0 AS BIT) AS ConvertedBoolean; -- 结果为 0(假)

注意事项

  • 当执行数据类型转换时,如果源数据与目标数据类型不兼容,可能会导致错误。
  • 在处理日期和时间数据时,确保输入的格式正确,否则可能会导致意外的结果或错误。
  • 使用 CAST 时,要确保转换后的数据类型能够容纳原始数据的所有可能值,以避免数据丢失或不准确。

二、表

2.1向表中添加列

ALTER TABLE dbo.doc_exa 
ADD column_b VARCHAR(20) NULL, column_c INT NULL ;

2.2从表中删除列

ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
GO

2.3将数据从一个表复制到另一个表

CREATE TABLE dbo.EmployeeSales  
( BusinessEntityID   varchar(11) NOT NULL,  
  SalesYTD money NOT NULL  
);  
GO  
INSERT INTO dbo.EmployeeSales  
    SELECT BusinessEntityID, SalesYTD   
    FROM Sales.SalesPerson;  
GO  

2.4 检索数据库的名称及其排序规则

select name , collation_name from sys.databases
  • 排序规则(Collation)

排序规则定义了字符数据的比较和排序方式。排序规则影响字符串的比较、排序以及大小写敏感性等。例如,不同的排序规则可能会导致相同的字符串在不同的数据库中比较结果不同。

三、常用操作

3.1 WITH 关键词

  • 用途:通过CTE将符合条件的记录集中在一个临时结果集中,以便后续操作。
DECLARE @PhoneNumber VARCHAR(50) = '18888888888';

WITH TableName AS
(
    SELECT * 
    FROM [T].[dbo].[Test] 
    WHERE ID = (SELECT ID 
                        FROM [T].[dbo].[Test]
                        WHERE Phone = @PhoneNumber)
)
DELETE FROM TableName 
WHERE Phone <> @PhoneNumber;

http://www.kler.cn/a/348988.html

相关文章:

  • 报错Automatic merge failed; fix conflicts and then commit the result.
  • 前端环境搭建一览记录
  • 2022年华为杯数学建模竞赛D题论文和代码
  • JAVA-------动态代理
  • 大厂服务降级规范
  • JavaScript截取字符串
  • Java基础 03
  • Unity3D XML与Properties配置文件读取详解
  • 【AI学习】Anthropic公司CEO Dario Amodei最近发表的文章《Machines of Loving Grace:AI如何让世界变得更好》
  • 【C语言】你不知道的知识小盲区——柔性数组
  • RuoYi-Vue若依框架-如何集成MybatisPlus
  • 卡尔曼滤波(Kalman Filter)MATLAB代码
  • HCIP--以太网交换安全(三)MAC地址漂移防止与检测
  • Linux系统:sudo systemctl reload apache2命令作用
  • 斯坦福大学提出电影剧本可视化工具ScriptViz:能够根据剧本中的文本和对话自动检索相关的电影画面,帮助剧作家更好地构思和调整剧情
  • LLM | Tokenization 从原理与代码了解GPT的分词器
  • C语言的柔性数组
  • 扩散模型入门(DDPM论文复现)
  • C++面试速通宝典——21
  • MySQL 5.7 和 MySQL 8.0 小写敏感性的设置比较