㈠ sqlServer函數的字元串函數
1 字元串函數
1.1 長度與分析用
datalength(Char_expr) 返回字元串包含字元數,但不包含後面的空格
substring(expression,start,length) 不多說了,取子串
right(char_expr,int_expr) 返回字元串右邊int_expr個字元
1.2 字元操作類
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代替
ltrim(char_expr) rtrim(char_expr) 取掉空格
ascii(char) char(ascii) 兩函數對應,取ascii碼,根據ascii碼取字元
1.3 字元串查找
charindex(char_expr,expression) 返回char_expr的起始位置
patindex(%pattern%,expression) 返回指定模式的起始位置,否則為0
㈡ 如何在sql中定義一個函數,函數功能是傳入一個字元串,返回這個字元串中的數
1通過VisualStudio2008新建一個SQLServer項目。2,配置連接的資料庫點擊上一步確定後,可以通過添加新引用來添加一個資料庫連接(只適用MS SQL Server 2005或以上版本,再次提醒哦),添加以後選擇其中一個資料庫點擊確。3,添加一個自定義函數。然後編寫自定義函數的類即可。
用戶自定義函數是指如果要在公式或計算中使用特別復雜的計算,而工作表函數又無法滿足需要,則需要創建用戶自定義函數。
㈢ sqlserver資料庫連接字元串問題,急
排除法:
拖一個數據控制項如dataGridView,新建一個資料庫連接,看下能否連接上,如果能,說明連接字元串有問題,如果不能,看下面:
(A)1:你如果是獨立上網的請把21埠打開.區域網把1433埠打開就可以了.
2;關閉防火牆!
(B)把資料庫連接的 SqlLocalName="(local)" 的(local) 改成 IP試試。可以把(local) 該成127.0.0.1,或者改成外網IP
(C)打開服務,暫停全文檢索及sql server服務 開啟sql server服務再開啟全文檢索服務
(D)SQL Server 右鍵屬性==>安全選項中的「所有權鏈接:」「允許跨資料庫所有權鏈接」前面的勾要勾上(此操作需要重起SQL Server)。
2、關閉網站伺服器的INTERNET共享。
1、檢查防火牆設置和1433埠設置正確;
2、如果出現「找不到網路路徑」的報錯,那麼最好先PING一下它的IP地址。如果PING不通,那麼需要先確認它是否連在網路或者網路連通性是否正常。然後查看是否啟用了防火牆或者屏蔽掉了相應的埠。如果PING IP地址是正常的,但PING目標機器的計算機名不通,則需要查看是事網路名稱解析有問題。關於如何診斷名稱解析問題,可以先查看是所有客戶端機器有問題還是某一台機器有問題。如果是所有機器的名稱解析都有問題,那麼你需要到網路的DNS或WINS伺服器上檢查了。如果只是某一台機器有問題,你需要先檢查一下hosts和lmhosts文件;如果正常,可以重新注冊一下DNS名字(ipconfig/reisterdns)。
----正常;
3、如果出現「xxx計算機無法訪問,您可能沒有許可權使用網路資源。請與這台伺服器的管理員聯系以查明您是否有訪問許可權」的報錯,這可能是計算機的安全設置被改動過了,導致目標計算機無法被訪問。可以採取以下步驟解決:
---存在這個問題,通過以下方法來解決
a. 打開「我的電腦」,在菜單上選擇「工具」->「文件夾選項」->「查看」,清除「使用簡單文件共享(推薦)」的選擇。
b. 右鍵點擊「我的電腦」,選擇「管理」,選擇「本地用戶和組」->「用戶」,右鍵點擊Guest用戶,選「屬性」,清除「帳戶已停用」的選擇。
c. 點擊「開始」->「運行」,輸入secpol.msc,選擇左邊的「本地策略」->「用戶權力指派」,雙擊右邊的「從網路訪問此計算機」,保證其中有Everyone,雙擊左邊的「拒絕從網路訪問此計算機」,保證其是空的。
d. 選擇左邊的「本地策略」->「安全選項」,a.確認右邊的「網路訪問:本地帳戶的共享與安全模式」為「經典」;b.確認右邊的「Microsoft網路客戶:為通訊啟用數字簽名(總是)」為「已停用」;c.確認右邊的「Microsoft網路客戶:為通訊啟用數字簽名(如果伺服器允許)」為「已啟用」;d.確認右邊的「Microsoft網路伺服器:為通訊啟用數字簽名(總是)」為「已停用」;e.確認右邊的「Microsoft網路伺服器:為通訊啟用數字簽名(如果伺服器允許)」為「已啟用」。
4、用ODBC連接,結果一切OK。
㈣ 什麼是資料庫連接字元串
連接字元串的是一個以分號為界,劃分鍵/值參數對的列表。連接字元串包含一個由一些屬性名/值對組成的集合。每一個屬性/值對都由分號隔開,如下所示:
PropertyName1="Value1";PropertyName2="Value2";PropertyName3="Value3";.....
同樣,連接字元串必須包含SQL Server實例名稱: Data Source=ServerName;
總的來說,資料庫的連接字元串分為兩種:Windows身份驗證和SQL Server身份驗證。每種方法都有各自的優缺點。但是遵循的基本規則是一樣的,基本規則如下:
如果採用SQL Server身份驗證方式,Data Source(數據源)、Initial Catalog(初始編目)、User ID(用戶ID)、和Password(密碼)等元素是必須的,下面這些選項都是可用的:
·Application Name(應用程序名稱):應用程序的名稱。如果沒有被指定的話,它的值為.NET SqlClient Data Provider(數據提供程序).
·AttachDBFilename/extended properties(擴展屬性)/Initial File Name(初始文件名):可連接資料庫的主要文件的名稱,包括完整路徑名稱。資料庫名稱必須用關鍵字資料庫指定。
·Connect Timeout(連接超時)/Connection Timeout(連接超時):一個到伺服器的連接在終止之前等待的時間長度(以秒計),預設值為15。
·Connection Lifetime(連接生存時間):當一個連接被返回到連接池時,它的創建時間會與當前時間進行對比。如果這個時間跨度超過了連接的有效期的話,連接就被取消。其預設值為0。
·Connection Reset(連接重置):表示一個連接在從連接池中被移除時是否被重置。一個偽的有效在獲得一個連接的時候就無需再進行一個額外的伺服器來回運作,其預設值為真。
·Current Language(當前語言):SQL Server語言記錄的名稱。
·Data Source(數據源)/Server(伺服器)/Address(地址)/Addr(地址)/Network Address(網路地址):SQL Server實例的名稱或網路地址。
·Encrypt(加密):當值為真時,如果伺服器安裝了授權證書,SQL Server就會對所有在客戶和伺服器之間傳輸的數據使用SSL加密。被接受的值有true(真)、false(偽)、yes(是)和no(否)。
·Enlist(登記):表示連接池程序是否會自動登記創建線程的當前事務語境中的連接,其預設值為真。
·Database(資料庫)/Initial Catalog(初始編目):資料庫的名稱。
·Integrated Security(集成安全)/Trusted Connection(受信連接):表示Windows認證是否被用來連接資料庫。它可以被設置成真、偽或者是和真對等的sspi,其預設值為偽。
·Max Pool Size(連接池的最大容量):連接池允許的連接數的最大值,其預設值為100。
·Min Pool Size(連接池的最小容量):連接池允許的連接數的最小值,其預設值為0。
·Network Library(網路庫)/Net(網路):用來建立到一個SQL Server實例的連接的網路庫。支持的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。協議的動態鏈接庫必須被安裝到適當的連接,其預設值為TCP/IP。
·Packet Size(數據包大小):用來和資料庫通信的網路數據包的大小。其預設值為8192。
·Password(密碼)/Pwd:與帳戶名相對應的密碼。
·Persist Security Info(保持安全信息):用來確定一旦連接建立了以後安全信息是否可用。如果值為真的話,說明像用戶名和密碼這樣對安全性比較敏感的數據可用,而如果值為偽則不可用。重置連接字元串將重新配置包括密碼在內的所有連接字元串的值。其預設值為偽。
·Pooling(池):確定是否使用連接池。如果值為真的話,連接就要從適當的連接池中獲得,或者,如果需要的話,連接將被創建,然後被加入合適的連接池中。其預設值為真。
·User ID(用戶ID):用來登陸資料庫的帳戶名。
·Workstation ID(工作站ID):連接到SQL Server的工作站的名稱。其預設值為本地計算機的名稱。
㈤ SQL中字元串的連接
在MYSQL中字元串連接使用的是concat內置函數。
CONCAT() 的語法如下:
CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。
請注意,Oracle的CONCAT()只允許兩個參數;
換言之,一次只能將兩個字串串連起來,不過,在Oracle中,可以用'||'來一次串連多個字串。
(5)csqlserver連接字元串函數擴展閱讀:
注意:
如果所有參數均為非二進制字元串,則結果為非二進制字元串。
如果自變數中含有任一二進制字元串,則結果為一個二進制字元串。
一個數字參數被轉化為與之相等的二進制字元串格式;若要避免這種情況,可使用顯式類型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
㈥ SQLSERVER中有沒有concat函數
MSSQLSERVER沒有ORACLE或MySQL里的CONCAT函數。
MSSQL資料庫需要將多個字元串連接起來時,可以直接使用運算符+號,不需要像mysql那樣使用concat函數來連接字元串。
例如表達式: 'abc' + 'efg'將返回'abcdefg'。
請注意null值與字元串使用+號連接時將返回空值null。
㈦ sql的字元串和欄位怎麼連接
sqlserver的話,字元串和欄位用+即可(前提是兩者都是字元型數據)
如:
select'a'+一個字元型的欄位fromtable_name
mysql的話,用concat函數
如:
selectconcat('a',一個字元型的欄位)fromtable_name