[英]Transact SQL, how can I take varchar type, convert to int, add one, convert back to string, then store?
ALTER PROCEDURE [dbo].[AmendInsertDuplicateFields] (@ReportID varchar(50))
AS
BEGIN
DECLARE @NewReportID VARCHAR(50)
SET @NewReportID = NEWID()
INSERT INTO [MVCOmar].[dbo].[PrideMVCCollisionBegin]
([ReportID], [LocalIncidentNum], [version], [MTOReferenceNo], [Submitted])
SELECT
@NewReportID, [LocalIncidentNum], [version], [MTOReferenceNo], [Submitted]
FROM
[MVCOmar].[dbo].[PrideMVCCollisionBegin]
WHERE
[ReportID] = @ReportID;
我想得到的結果是version
,將其從字符串轉換為int類型,添加一個,轉換回字符串,然后存儲它。
我承認版本應該是int
而不是字符串類型。 我也承認,實現此目的的更好方法是將屬性設置為遞增1。
我暫時無法執行任何一種選擇,因為我的優先級現在不同,我時間有限,代碼很舊,並且由許多習慣不良編碼的人編寫。
您不需要轉換,運行它,將有一個隱式轉換
SELECT '1' + 1
返回2
就您而言,您可以執行[version] + 1
您可以使用CONVERT函數在SELECT語句中內聯執行此操作:
INSERT INTO [MVCOmar].[dbo].[PrideMVCCollisionBegin] ([ReportID], [LocalIncidentNum], [version], [MTOReferenceNo], [Submitted])
SELECT @NewReportID, [LocalIncidentNum],
CONVERT(VARCHAR, (CONVERT(INT, [version]) + 1)),
[MTOReferenceNo], [Submitted]
FROM [MVCOmar].[dbo].[PrideMVCCollisionBegin]
WHERE [ReportID]=@ReportID;
SQL Server支持CAST或CONVERT
CAST(col1 as int)
CONVERT(int,col1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.