1. sql語句怎樣將查詢結果逗號分開
如果查詢結果為一行
SELECT 查詢欄位1+',' + 查詢欄位2 from 表名 where 1=1
如果查詢結果為一列,需要將其先轉換為xml,再截取符號。
SELECT
STUFF((SELECT ',' + 查詢欄位 from 表名 where 1=1
FOR XML PATH('')
), 1, 1, '')
2. 在winfrom中一個點擊事件中兩個SQL語句怎麼分開執行
如果是單獨的執行兩條sql語句是沒有問題的,但是你要考慮到後面的東西,視圖是不可以更新的,也不可以通過視圖去更新數據,只有通過視圖綁定的查詢表來更新數據。
public static void Do(string name)
{
using (SqlConnection conn = new SqlConnection(_ConnString))
{
try
{
conn.Open();
string sql=string.Format("CREATE View VIew_TABLE1 AS SELECT * FROM TABLE1")
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
cmd.CommandText =string.Format( "UPDATE TABLE1 SET NAME='{0}'",name);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
這樣只有更新綁定視圖的表視圖就會跟著更新了
3. SQl語句查出來的字元串怎麼分段
select
decode(f1,'1','1,你好','1,2','1、你好;2、我很好;'
from al;
試試DECODE函數
4. sql語句 拆分
select 這個地方就是查詢的欄位,然後IP是自定義的名字 'IP'=substring(拆分的欄位名,b.number,charindex('拆分的符號',拆分的欄位名+',',b.number)-b.number) from 你的表名 a
inner join master.dbo.spt_values b on b.number between 1 and len(拆分的欄位名)
and substring(','+拆分的欄位名,b.number,1)='拆分的符號'
where b.type='P' 後邊可以是條件 and Id=1
5. 怎麼把這樣長的sql語句拆分為單條sql語句,這種語句是通過工具生成的還是手動拼出來的
SELECTu.userid,u.name,u.phone
fromhx_useru
LEFTJOIN(SELECT*
fromhx_userrest
WHEREuserrestdate='".$orderhead['serverdate']."')r
onu.userid!=r.userid
INNERJOIN(SELECTuserid
from(SELECTuserid,GROUP_CONCAT(infovaluename)user_info
fromhx_userattrGROUPBYuserid)a
INNERJOIN(SELECTGROUP_CONCAT('%',infovaluename,'%')order_info
fromhx_orderneedinfo
whereorderheadid=$orderheadidandinfokeyperson=2)b
ona.user_infoLIKEIFNULL(b.order_info,'%'))d
onu.userid=d.userid
INNERJOIN(SELECT*
fromhx_userproctclass
WHEREproctclassid=".$orderhead['proctclassid'].")f
onf.userid=u.userid
LEFTJOINhx_sendareasa
onu.userid=sa.userid
WHEREu.useridNOTin(SELECTou.userid
fromhx_servertimes1
INNERJOIN(SELECT*
fromhx_servertime
whereservertimevalue='".$orderhead['servertime']."')s2
ON(s1.ordernum=s2.ordernum-1)or(s1.ordernum=s2.ordernum+1)
INNERJOIN(SELECT*
fromhx_orderhead
whereserverdate='".$orderhead['serverdate']."')h
onh.servertime=s1.servertimevalue
INNERJOINhx_order_userou
onou.orderheadid=h.orderheadid)
ANDusertype=1
ORDERBYabs(fun_getdistance(".$orderhead['latitude'].",".$orderhead['longitude'].",sa.latitude,sa.longitude))ASC,levelDESClimit$limitStart,$pagesize
稍微整理了一下,拆分是不好拆分的,這段語句都是用的子查詢和連接查詢,操作的表比較多,至於你說的手動拼還是用工具這個就不清楚了
6. sql語句如何將一個字元串拆分重組
您好,您可以參考下面的程序:
declare @str varchar(20)
set @str = 'abcdefg'
declare @i int
declare @count int
select @count = 0
select @i = len(@str)
declare @str1 varchar(20)
select @str1 = ''
while (@i > @count)
begin
select @count = @count + 1
select @str1 = @str1 + substring (@str,@count,1) + '.'
end
print @str1
這個字元串,你可以從表欄位中獲取,也或者可以直接賦值,最好@str1就是你想要的輸出。
7. sql 語句怎麼將一行拆分成兩行
先創建spilt方法,然後調用就行。
1.
--創建function
create or replace function split
(
p_list varchar2,
p_sep varchar2 := ','
) return type_split pipelined
is
l_idx pls_integer;
v_list varchar2(50) := p_list;
begin
loop
l_idx := instr(v_list,p_sep);
if l_idx > 0 then
pipe row(substr(v_list,1,l_idx-1));
v_list := substr(v_list,l_idx+length(p_sep));
else
pipe row(v_list);
exit;
end if;
end loop;
return;
end split;
2.select * from table(split('曹xx,中XX'));
8. 怎麼樣在SQL語句中,將兩個條件查出的結果分開,或者分先後順序
可以自己造一個類型,1和2,分表表示兩種新聞。
select * from
(select 1 as '新聞類型',* from table1 where title like '%關鍵詞%'
union all
select 2 as '新聞類型',* from table1 where content like '%關鍵詞%' ) a
order by a.id desc
9. SQL語句拆分表中內容,並變成兩列
USEtempdb
GO
ALTERFUNCTIONDBO.SPLT
(@COLNVARCHAR(200),
@PRANVARCHAR(10)
)
RETURNSNVARCHAR(100)
AS
BEGIN
DECLARE@NUMNVARCHAR(100),@STRNVARCHAR(100),@IINT
SET@NUM=''
SET@STR=''
SET@I=1
WHILE(@I<=LEN(ISNULL(@COL,'')))
BEGIN
IFSUBSTRING(@COL,@I,1)IN('0','1','2','3','4','5','6','7','8','9')--說明是數字
SET@NUM=@NUM+SUBSTRING(@COL,@I,1)
ELSE
SET@STR=@STR+SUBSTRING(@COL,@I,1)
SET@I=@I+1
END
IF@PRA='STR'
SET@NUM=@STR
RETURN@NUM
END
GO
SELECTdbo.SPLT('A123,B23,BD21','STR'),dbo.SPLT('A123,B23,BD21','')
10. SQL server拆分欄位的SQL語句
SQL語句中拆分欄位:
一、語句實現的是將sql表中某個特定的欄位按照欄位內容中的標志拆分成多個欄位。下面的實例是將classname欄位中的內容以「->」為分隔符拆分為兩個部分。
select
ID ,
ClassID = PARSENAME(replace(ClassName,'->' , '.'), 2) ,
StyleID = PARSENAME(replace(ClassName,'->' , '.'), 1)
from tb
二、拆分之前的表格式:
ID classname。
1、 吃嫩草->東湖二等分 。
2、 的年覅->從丁俊暉v剎。
3、 覺得->督促。
4 、和長度->陳代工廠 。
5、 督促vui->大合唱。
三、拆分後的表格式:
ID ClassID StyleID。
1 、吃嫩草 東湖二等分。
2 、的年覅 從丁俊暉v剎。
3 、覺得 督促。
4、和長度 陳代工廠。
5、 督促vui 大合唱。
四、同樣的方法,如果要分成三個、四個或者更多的欄位,只需要修改代碼第三四行的代碼,此方法僅限將某一欄位內的內容按照同一個分隔符拆分。