當前位置:首頁 » 編程語言 » sql換座位
擴展閱讀
車輛檢測到上傳下來去哪 2022-08-20 03:53:39
美國微生物學會資料庫 2022-08-20 03:51:37
鬼吹燈怒晴湘西小說ftp 2022-08-20 03:49:53

sql換座位

發布時間: 2022-07-05 17:43:49

『壹』 sql 語句 修改

用update 觸發器
思路:
1、小位置號改成大位置號,則兩個位置號之間的值-1(不包括更新的位置號)
如:
21 1
22 2
23 3
24 4
將22的位置號改為4,則2和4之間的位置號(不包括編號22的位置號)都減一變成:
21 1
22 4
23 2
24 3
2、大位置號改成小位置號,則兩個位置號之間的值+1(不包括更新的位置號)
如:
21 1
22 2
23 3
24 4
將24的位置號改為1,則1和4之間的位置號(不包括編號24的位置號)都加一變成:
21 2
22 3
23 4
24 1
更新出發器如下:
create TRIGGER udt_tableu
ON table
FOR update AS

declare @palceNo_i int
declare @palceNo_d int
declare @no_i varchar(10)

select @palceNo_i= 位置 from inserted
select @no_i = 編號 from inserted
select @palceNo_d= 位置 from deleted

if update(位置)
begin
if @palceNo_i> @palceNo_d
begin
update 表 set 位置=位置-1
where 位置 between @palceNo_d and @palceNo_i and 編號<>@no_i
end
else if @palceNo_i< @palceNo_d
begin
update 表 set 位置=位置+1
where 位置 between @palceNo_i and @palceNo_d and 編號<>@no_i
end
end
GO

『貳』 SQL值互換位置

update table set A=2,B=1 where A=1 and B=2;

『叄』 用sql表值函數實現字元串的位置調換

創建

createfunction[dbo].wei
(@scodevarchar(10))
Returnsvarchar(10)
As
Begin
[email protected]
[email protected](10)
[email protected]=len(@scode)
[email protected]=''
[email protected]%2=1
begin
[email protected]=SUBSTRING(@scode,@len/2+2,@len/2)+SUBSTRING(@scode,@len/2+1,1)+SUBSTRING(@scode,1,@len/2)
end
[email protected]%2=0
begin
[email protected]=SUBSTRING(@scode,@len/2+1,@len/2)+SUBSTRING(@scode,1,@len/2)
end
[email protected]
end

執行測試

selectdbo.wei('1230456')
selectdbo.wei('123456')

『肆』 sql 如何將兩行換位

數據在表中是沒有實際位置的概念的,所以排序只可以在select的時候設置,update是不能更改循序的,如果要實現你的效果,首先你要找一個主鍵或一個保存數據順序的欄位,這樣才好設置調轉兩條記錄的順序 ,當你找好了主鍵或創建了保存數據順序的欄位,如果是主鍵,只能每次select的時候為這情況特別處理,如果是記錄順序的欄位,就好辦了,update更改一下該欄位的值,然後order by 該欄位即可,所以如果數據的順序比較重要,推薦建立一個保存順序的欄位

『伍』 sql 替換某一位置字元

sql server 2005及以上版本可使用STUFF函數。

語法:

STUFF(character_expression,start,length,character_expression)

參數說明:

  • character_expression:一個字元數據表達式。character_expression可以是常量、變數,也可以是字元列或二進制數據列。

  • start:一個整數值,指定刪除和插入的開始位置。如果start或length為負,則返回空字元串。如果start比第一個character_expression長,則返回空字元串。start可以是bigint類型。

  • length:一個整數,指定要刪除的字元數。如果length比第一個character_expression長,則最多刪除到最後一個character_expression中的最後一個字元。length可以是bigint類型。

返回類型

  • 如果character_expression是受支持的字元數據類型,則返回字元數據。如果character_expression是一個受支持的 binary 數據類型,則返回二進制數據。

注釋

  • 如果開始位置或長度值是負數,或者如果開始位置大於第一個字元串的長度,將返回空字元串。如果要刪除的長度大於第一個字元串的長度,將刪除到第一個字元串中的第一個字元。

  • 如果結果值大於返回類型支持的最大值,則產生錯誤。

示例

  • 以下示例在第一個字元串abcdef中刪除從第2個位置(字元b)開始的三個字元,然後在刪除的起始位置插入第二個字元串,從而創建並返回一個字元串。

SELECTSTUFF('abcdef',2,3,'ijklmn');
GO
  • 下面是結果集:

---------
aijklmnef

(1 row(s) affected)


以上摘自:https://msdn.microsoft.com/zh-cn/library/ms188043(v=sql.105).aspx

『陸』 sql資料庫中select和from語句可以調換位置嗎。

不可以,固定格式。select語句格式:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
以上語句的先後順序不得改變。

『柒』 Microsoft SQL Server 2008 我設計好表,然後寫入數據,執行後,有些行會換位置這是怎麼回事

讀取表時並不一定會按你輸入的數據順序來排列的,你可以在查詢語句中使用order by 來指定排序順序
如; select * from table1 order by newdata;

『捌』 sql 如何更換列的位置

select name , num from tablename

『玖』 C/S的影院座位表情況怎樣存進SQL server 2005里

應該不同的影廳座位情況不一樣吧?如果是有不同影廳的情況,那麼最起碼應該有如下表和欄位:
1. 影廳座位信息表:
ID(主鍵) 影廳ID(外鍵) 排號 座位號(或者使用排號+座號的方式如6.1就代表6排1號,兩欄位合並)
這個表應該基本上是靜態的,因為影廳的座位信息基本不會動。

2. 電影場次表:
ID(主鍵) 電影ID 時間 影廳ID ……

3. 電影票售出情況表:
ID(主鍵,電影票號) 場次號(2表的主鍵) 座位號(1表的主鍵) ……

應該是點擊某一場次的電影,才會出現你說的這個界面,根據資料庫中2表和1表,可以先取出該影廳的所有座位情況並顯示;其次根據2表和3表取出所有已售電影票,遍歷剛才的座位,將已售出的座位換顏色即可。

當然這里只是給一個思路,具體實現可能還是比較復雜,要考慮的很多,權當一個參考吧。

『拾』 SQLServer2008中,在已經建好的表,如何修改列的前後位置

理論上是刪表重建,但是可以通過表設計器調換,讓設計器幫你刪表重建
右鍵表點設計,然後調換位置,最後保存即可