網(wǎng)站免費做app神馬移動排名優(yōu)化
一、函數(shù)
1.1 CAST
CAST ( expression AS data_type [ ( length ) ] )
- expression: 這是你想要轉換的數(shù)據(jù)或表達式。
- data_type: 目標數(shù)據(jù)類型,比如 INT, VARCHAR, DATE
等等。 - (length): 對于某些數(shù)據(jù)類型(如 CHAR, VARCHAR, BINARY,
VARBINARY),可以指定長度。對于其他數(shù)據(jù)類型,這個參數(shù)是可選的或不適用的。
示例
字符串轉換為整數(shù)
SELECT CAST('123' AS INT) AS ConvertedValue;
整數(shù)轉換為字符串
SELECT CAST(123 AS VARCHAR(10)) AS ConvertedValue;
日期轉換
SELECT CAST('2023-01-01' AS DATE) AS ConvertedDate;
浮點數(shù)轉換為整數(shù)
需要注意的是,當將浮點數(shù)轉換為整數(shù)時,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(假)
注意事項
- 當執(zhí)行數(shù)據(jù)類型轉換時,如果源數(shù)據(jù)與目標數(shù)據(jù)類型不兼容,可能會導致錯誤。
- 在處理日期和時間數(shù)據(jù)時,確保輸入的格式正確,否則可能會導致意外的結果或錯誤。
- 使用 CAST 時,要確保轉換后的數(shù)據(jù)類型能夠容納原始數(shù)據(jù)的所有可能值,以避免數(shù)據(jù)丟失或不準確。
二、表
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將數(shù)據(jù)從一個表復制到另一個表
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 檢索數(shù)據(jù)庫的名稱及其排序規(guī)則
select name , collation_name from sys.databases
- 排序規(guī)則(Collation)
排序規(guī)則定義了字符數(shù)據(jù)的比較和排序方式。排序規(guī)則影響字符串的比較、排序以及大小寫敏感性等。例如,不同的排序規(guī)則可能會導致相同的字符串在不同的數(shù)據(jù)庫中比較結果不同。
三、常用操作
3.1 WITH 關鍵詞
- 用途:通過CTE將符合條件的記錄集中在一個臨時結果集中,以便后續(xù)操作。
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;