當前位置:首頁 » 編程語言 » sql語句用字元串連接
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句用字元串連接

發布時間: 2022-05-21 11:21:43

① 在查詢分析器中怎麼把sql語句和字元串連接起來

用動態SQL語句,把SQL語句使用字元串變數拼接,然後用exec執行
exec(SQL語句)

② sql語句中如何使用字元串

奶奶的,我發現了,個就是一個天才兒童,各位大神,各有自己解決了,靠人不如靠自己啊!!!哈哈哈!!!!!!!!!!!!!!!!!!這個問題的結局方案僅供參考:String
sql="select
*
from
"+s1+";

③ SQL中字元串的連接

在MYSQL中字元串連接使用的是concat內置函數。可以寫為:select
*
from
myDB
where
name
=concat('a','bc')
在SQL
Server中字元串連接用+號。可以寫為:select
*
from
myDB
where
name
='a'+'bc'
在Oracle中字元串連接用的是||號。

④ sql語句中字元串的連接符是什麼

不同的資料庫中字元串連接符不同,下面列舉幾種資料庫的連接符:
1、oracle資料庫中的連接符為||,例如連接字元串AB、CD可以使用「AB」||「CD」;
2、SQL SERVER 資料庫連接符為+,例如連接字元串AB、CD可以使用「AB」+「CD」;

⑤ 什麼叫「使用字元串連接的方式來執行Sql語句」

sql
開放分類: 資料庫、互聯網、oracle、SQL

目錄
• DDL
• DML
• SELECT 陳述式
• SQL中的五種數據類型

SQL全稱是「結構化查詢語言(Structured Query Language)」,最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。

SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的SQL語言作為數據輸入與管理的介面。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。

SQL同時也是資料庫文件格式的擴展名。

SQL語言包含4個部分:

數據定義(DDL)語言(如CREATE, DROP,ALTER等語句)

數據操縱(DML)語言(INSERT, UPDATE, DELETE語句)

數據查詢語言(SELECT語句)

數據控制語言(如GRANT,REVOKE,COMMIT, ROLLBACK等語句)

取自"http://zh.wikipedia.org/wiki/SQL"
SQL(STructured Query Language)是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。美國國家標准局(ANSI)與國際標准化組織(ISO)已經制定了 SQL 標准。ANSI 是一個美國工業和商業集團組織,發展美國的商務和通訊標准。ANSI 同時也是 ISO 和 International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標准組織相應的美國標准。1992年,ISO 和 IEC 發布了 SQL 的國際標准,稱為 SQL-92。ANSI 隨之發布的相應標準是 ANSI SQL-92。ANSI SQL-92 有時被稱為 ANSI SQL。盡管不同的關聯式資料庫使用的 SQL 版本有一些差異,但大多數都遵循 ANSI SQL 標准。SQL Server 使用 ANSI SQL-92 的擴展集,稱為 T-SQL,其遵循 ANSI 制定的 SQL-92 標准。

SQL 語言包括兩種主要程式設計語言類別的陳述式: 資料定義語言 (DDL)與資料操作語言 (DML)。下面我們將介紹這兩類語言。

DDL

DDL 用於定義和管理物件,例如資料庫、資料表以及檢視表( 第18章 將會解釋何謂檢視表)。DDL 陳述式通常包括每個物件的CREATE、ALTER 以及 DROP 命令。舉例來說,CREATE TABLE、ALTER TABLE 以及 DROP TABLE 這些陳述式便可以用來建立新資料表、修改其屬性(如新增或刪除資料行)、刪除資料表等,下面我們會一一介紹。

CREATE TABLE 陳述式

使用 DDL 在 MyDB 資料庫建立一個名為 Customer_Data 的範例資料表,本章後面的例子我們會使用到這個資料表。如前所述,CREATE TABLE 陳述式可以用來建立資料表。這個範例資料表被定義成四個資料行,如下所示:

Use MyDB
CREATE TABLE Customer_Data
(customer_id smallint,
first_name char(20),
last_name char(20),
phone char(10))
GO
這個陳述式能產生 Customer_Data 資料表,這個資料表會一直是空的直到資料被填入資料表內。

ALTER TABLE 陳述式

ALTER TABLE 陳述式用來變更資料表的定義與屬性。在下面的例子中,我們利用 ALTER TABLE 在已經存在的 Customer_Data 資料表中新增 middle_initial 資料行。

ALTER TABLE Customer_Data
ADD middle_initial char(1)
GO
現在資料表的定義包括了五個資料行,而不是之前的四個資料行。關於使用ALTER TABLE 的更多細節,請參閱 第15章 。

DROP TABLE 陳述式

DROP TABLE 陳述式用來刪除資料表定義以及所有的資料、索引、觸發程序、條件約束以及資料表的許可權。要刪除我們的 Customer_Data 資料表,可利用下列命令:

DROP TABLE Customer_Data
GO
關於 DROP TABLE 陳述式的詳細內容,請參閱 第15章 。

DML

DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等陳述式來操作資料庫物件所包含的資料。

INSERT 陳述式

INSERT 陳述式用來在資料表或檢視表中插入一列資料。例如,如果要在Customer_Data 資料表中新增一個客戶,可使用類似以下的 INSERT 陳述式:

INSERT INTO Customer_Data
(customer_id, first_name, last_name, phone)
VALUES (777, "Frankie", "Stein", "4895873900")
請注意 SQL 陳述式中第二行的資料行名稱清單,清單上資料行名稱的次序決定了資料數值將被放在哪個資料行。舉例來說,第一個資料數值將被放在清單列出的第一個資料行 customer_id、第二個資料數值放在第二個資料行,依此類推。由於我們在建立資料表時,定義資料資料行填入數值的次序與現在相同,因此我們不必特意指定欄位名稱。我們可以用以下的 INSERT 陳述式代替:

INSERT INTO Customer_Data
VALUES (777, "Frankie", "Stein", "4895873900")

注意

如果使用這種形式的 INSERT 陳述式,但被插入的數值次序上與建立資料表時不同,數值將被放入錯誤的資料行。如果資料的型別與定義不符,則會收到一個錯誤訊息。

UPDATE 陳述式

UPDATE 陳述式用來更新或改變一列或多列中的值。例如,一位名稱為 Frankie Stein 的客戶想要在記錄中改變他的姓氏為 Franklin,可使用以下 UPDATE 陳述式:

UPDATE Customer_Data
SET first_name = "Franklin"
WHERE last_name = "Stein" and customer_id= 777
我們在 WHERE 子句中加入 customer_id 的項目來確定其他名稱為 Stein 的客戶不會被影響-只有customer_id為777的客戶,姓氏會有所改變。

--------------------------------------------------------------------------------

說明

當您使用 UPDATE 陳述式時,要確定在 WHERE 子句提供充分的篩選條件,如此才不會不經意地改變了一些不該改變的資料。

--------------------------------------------------------------------------------

DELETE 陳述式

DELETE 陳述式用來刪除資料表中一列或多列的資料,您也可以刪除資料表中的所有資料列。要從 Customer_Data 資料表中刪除所有的列,您可以利用下列陳述式:

DELETE FROM Customer_Data

DELETE Customer_Data
資料表名稱前的 FROM 關鍵字在 DELETE 陳述式中是選擇性的。除此之外,這兩個陳述式完全相同。

要從 Customer_Data 資料表中刪除 customer_id 資料行的值小於100的列,可利用下列陳述式:

DELETE FROM Customer_Data
WHERE customer_id < 100
現在我們已經快速瀏覽了 SQL 提供的 DDL 與 DML 陳述式,接著,下面將介紹 T-SQL。

--------------------------------------------------------------------------------

SELECT 陳述式

SELECT 陳述式用來檢索資料表中的資料,而哪些資料被檢索由列出的資料行與陳述式中的 WHERE 子句決定。例如,要從之前建立的 Customer_Data 資料表中檢索 customer_id 以及 first_name 資料行的資料,並且只想取出每列中 first_name 資料行值為 Frankie 的資料,那麼可以利用以下的 SELECT 陳述式:

SELECT customer_id, first_name FROM Customer_Data
WHERE first_name = "Frankie"
如果有一列符合 SELECT 陳述式中的標准,則結果將顯示如下:

customer_id first_name
------------- ------------
777 Frankie

SQL中的五種數據類型

簡要描述一下SQL中的五種數據類型:字元型,文本型,數值型,邏輯型和日期型

字元型

VARCHAR VS CHAR

VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字元串長度小於255的字元。

假如你向一個長度為四十個字元的VARCHAR型欄位中輸入數據BIll GAtES。當你以後從這個欄位中取出此數據時,你取出的數據其長度為十個字元——字元串Bill Gates的長度。 現在假如你把字元串輸入一個長度為四十個字元的CHAR型欄位中,那麼當你取出數據時,所取出的數據長度將是四十個字元。字元串的後面會被附加多餘的空格。

當你建立自己的站點時,你會發現使用VARCHAR型欄位要比CHAR型欄位方便的多。使用VARCHAR型欄位時,你不需要為剪掉你數據中多餘的空格而操心。

VARCHAR型欄位的另一個突出的好處是它可以比CHAR型欄位佔用更少的內存和硬碟空間。當你的資料庫很大時,這種內存和磁碟空間的節省會變得非常重要

文本型

TEXT

使用文本型數據,你可以存放超過二十億個字元的字元串。當你需要存儲大串的字元時,應該使用文本型數據。

注意文本型數據沒有長度,而上一節中所講的字元型數據是有長度的。一個文本型欄位中的數據通常要麼為空,要麼很大。

當你從HTML fORM的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲於文本型欄位中。但是,無論何時,只要你能避免使用文本型欄位,你就應該不適用它。文本型欄位既大且慢,濫用文本型欄位會使伺服器速度變慢。文本型欄位還會吃掉大量的磁碟空間。

一旦你向文本型欄位中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。

數值型

SQL支持許多種不同的數值型數據。你可以存儲整數 INT 、小數 NUMERIC、和錢數 MONEY。

INT VS SMALLINT VS TINYINT

他們的區別只是字元長度:

INT型數據的表數范圍是從-2,147,483,647到2,147,483,647的整數

SMALLINT 型數據可以存儲從-32768到32768的整數

TINYINT 型的欄位只能存儲從0到255的整數,不能用來儲存負數

通常,為了節省空間,應該盡可能的使用最小的整型數據。一個TINYINT型數據只佔用一個位元組;一個INT型數據佔用四個位元組。這看起來似乎差別不大,但是在比較大的表中,位元組數的增長是很快的。另一方面,一旦你已經創建了一個欄位,要修改它是很困難的。因此,為安全起見,你應該預測以下,一個欄位所需要存儲的數值最大有可能是多大,然後選擇適當的數據類型。

NUMERIC

為了能對欄位所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型欄位可以存儲從-1038到1038范圍內的數。NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型欄位中存儲小數3.14。

當定義一個NUMERIC型欄位時,你需要同時指定整數部分的大小和小數部分的大小。如:MUNERIC(23,0)

一個 NUMERIC型數據的整數部分最大隻能有28位,小數部分的位數必須小於或等於整數部分的位數,小數部分可以是零。

MONEY VS SMALLMONEY

你可以使用 INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用於此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。

SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647 的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。

邏輯型

BIT

如果你使用復選框( CHECKBOX)從網頁中搜集信息,你可以把此信息存儲在BIT型欄位中。BIT型欄位只能取兩個值:0或1。

當心,在你創建好一個表之後,你不能向表中添加 BIT型欄位。如果你打算在一個表中包含BIT型欄位,你必須在創建表時完成。

日期型

DATETIME VS SMALLDATETIME

一個 DATETIME型的欄位可以存儲的日期范圍是從1753年1月1日第一毫秒到9999年12月31日最後一毫秒。

如果你不需要覆蓋這么大范圍的日期和時間,你可以使用SMALLDATETIME型數據。它與DATETIME型數據同樣使用,只不過它能表示的日期和時間范圍比DATETIME型數據小,而且不如DATETIME型數據精確。一個SMALLDATETIME型的欄位能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。

DATETIME型欄位在你輸入日期和時間之前並不包含實際的數據,認識這一點是重要的。

⑥ sql如何將二個欄位連接在一起

方法一:

sql中的連接符用「||」;

舉例1:select 'zhang'||' san' from al ;結果就是 「zhang san」;

舉例2:select name || '的年齡是'|| age from tablename;結果就是「zhangsna的年齡是11」。

方法二:

mysql, oracle db2

select field1 || field2 from tab

sql server:

select field1 + field2 from tab

SQL的核心部分相當於關系代數,但又具有關系代數所沒有的許多特點,如聚集、資料庫更新等。它是一個綜合的、通用的、功能極強的關系資料庫語言,盡管SQL的功能很強,但語言十分簡潔,核心功能只用了9個動詞。

(6)sql語句用字元串連接擴展閱讀:

SqlServer函數

upper(char_expr) 轉為大寫

lower(char_expr) 轉為小寫

space(int_expr) 生成int_expr個空格

replicate(char_expr,int_expr)復制字元串int_expr次

reverse(char_expr) 反轉字元串

stuff(char_expr1,start,length,char_expr2) 將字元串char_expr1中的從start開始的length個字元用char_expr2代替

⑦ pl/sql中連接字元串應該怎麼寫,在線等待

和其他資料庫系統類似,Oracle字元串連接使用「||」進行字元串拼接,其使用方式和MSSQLServer中的加號「+」一樣。

比如執行下面的SQL語句:
代碼如下:

SELECT '工號為'||FNumber||'的員工姓名為'||FName FROM T_Employee
WHERE FName IS NOT NULL

除了「||」,Oracle還支持使用CONCAT()函數進行字元串拼接,比如執行下面的SQL語句:
SELECT CONCAT('工號:',FNumber) FROM T_Employee

如果CONCAT中連接的值不是字元串,Oracle會嘗試將其轉換為字元串,比如執行下面的SQL語句:
SELECT CONCAT('年齡:',FAge) FROM T_Employee

與MYSQL的CONCAT()函數不同,Oracle的CONCAT()函數只支持兩個參數,不支持兩個以上字元串的拼接,比如下面的SQL語句在Oracle中是錯誤的:
SELECT CONCAT('工號為',FNumber,'的員工姓名為',FName) FROM T_Employee
WHERE FName IS NOT NULL
運行以後Oracle會報出下面的錯誤信息:
參數個數無效

如果要進行多個字元串的拼接的話,可以使用多個CONCAT()函數嵌套使用,上面的SQL可以如下改寫:
代碼如下:

SELECT CONCAT(CONCAT(CONCAT('工號為',FNumber),'的員工姓名為'),FName) FROM
T_Employee
WHERE FName IS NOT NULL

⑧ sql字元串連接函數

MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的語法如下:
CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。
請注意,Oracle的CONCAT()只允許兩個參數;
換言之,一次只能將兩個字串串連起來。不過,在Oracle中,我們可以用'||'來一次串連多個字串。
來看幾個例子。假設我們有以下的表格:
Geography 表格
region_name store_name
East Boston
East New York
West Los Angeles
West San Diego
例子1:
MySQL/Oracle:
SELECT CONCAT(region_name,store_name) FROM Geography
WHERE store_name = 'Boston';
結果:
'EastBoston'
例子2:
Oracle:
SELECT region_name || ' ' || store_name FROM Geography
WHERE store_name = 'Boston';
結果:
'East Boston'
例子3:
SQL Server:
SELECT region_name + ' ' + store_name FROM Geography
WHERE store_name = 'Boston';
結果:
'East Boston'

⑨ sql查詢語句怎麼拼接字元串

sql
=
"select
*
from"
&
mc
'怎麼拼對嗎?
這個是正確的。
set
rs
=
conn.execute("select
*
from
&
mc")
『怎麼拼接對嗎?
這個是不對的。這個裡面的sql語句建議賦值給一個變數,然後直接調用變數,當然也可以這么寫,不過要注意格式:set
rs
=
conn.execute("select
*
from
"&
mc)應該是這個樣子的,不知道有沒有記錯,你試試看。

⑩ sql語句中的字元串連接

那要看你使用的是什麼樣的SQL系統,如果使用的是標準的SQL,一般可以這樣寫:
update
char
set
name=concat(name,"abc")
where
id=1;
這里要注意的是:concat是標準的字元串連接函數,你要保證你name屬性的數據類型是字元串型的,還有,根據你使用的系統,決定引用字元串時是使用單引號還是雙引號;如果你使用的系統是MySQL,MSSQL或者其他的SQL,一般還有對應的更加簡潔的表達式。
還有,在有的SQL系統里,你上面的表達式是可以使用的,只需把單引號換雙引號即可。
答案補充
你用我給你些的標准SQL的代碼,絕對沒有錯,我剛才PHPMYADMIN上執行了的,沒有問題。如果你不信的話我可以發圖。