sql字元串開頭
『壹』 sql中要查詢以某個字元串開始的記錄怎麼做呢
where left(name,3)='abc'
『貳』 sql 提取第一個字元
sql怎樣提取第一個字元的方法用到的是substring() 方法用於提取字元串中介於兩個指定下標之間的字元。
返回值
一個新的字元串,該字元串值包含stringObject的一個子字元串,其內容是從start處到stop-1 處的所有字元,其長度為stop減start。
2.說明
substring() 方法返回的子串包括start處的字元,但不包括stop處的字元。
如果參數start與stop相等,那麼該方法返回的就是一個空串(即長度為 0 的字元串)。如果start比stop大,那麼該方法在提取子串之前會先交換這兩個參數。
『叄』 在sql查詢欄位中怎麼去判斷是以某字母開頭
方法1:用%即可達到。
例如:SELECT*FROMusersWHEREemaillike"%b@email.com%"。
方法2:使用mysql字元串函數find_in_set();
SELECT*FROMusersWHEREfind_in_set('aa@email.com',email);
注意,mysql字元串函數find_in_set(str1,str2)返回str2中str1的位置索引,str2必須被分割成「,」。
方法3:多值模糊查詢,使用mysql正則:REGEXP。
這個方法相當於(比如'%1%'或'%3%'或'%5%')。
從'by_content'中選擇*,其中標題REGEXP'(1|,3|5)'。
(3)sql字元串開頭擴展閱讀:
Mysql字元串函數:FIND_IN_SET()
語法:
strlistFIND_IN_SET(STR)
第一個參數STR是要查找的字元串。
第二個參數strlist是要搜索的字元串的逗號分隔列表。
如果字元串STR位於由N個子鏈組成的字元串列表中,則返回值的范圍為1到N。
字元串列表是由','符號分隔的子鏈組成的字元串。如果第一個參數是常量字元串,第二個參數是類型集列,則FIND_IN_SET()函數被優化為使用位。
如果STR不在strlist中,或者strlist是空字元串,則返回值為0。如果任何參數為空,則返回值為空。當第一個參數包含逗號(',')時,此函數將無法正常工作。
『肆』 sql 刪去記錄中指定字元開頭的字元串
什麼資料庫
sqlserver中好像沒有正則替換的函數,你得自己寫了
CREATE FUNCTION dbo.regexReplace
(
@source ntext, --原字元串
@regexp varchar(1000), --正則表達式
@replace varchar(1000), --替換值
@globalReplace bit = 1, --是否是全局替換
@ignoreCase bit = 0 --是否忽略大小寫
)
RETURNS varchar(1000) AS
BEGIN
DECLARE @hr integer
DECLARE @objRegExp integer
DECLARE @result varchar(5000)
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
EXEC @hr = sp_OADestroy @objRegExp
RETURN null
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 BEGIN
EXEC @hr = sp_OADestroy @objRegExp
RETURN null
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', @globalReplace
IF @hr <> 0 BEGIN
EXEC @hr = sp_OADestroy @objRegExp
RETURN null
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignoreCase
IF @hr <> 0 BEGIN
EXEC @hr = sp_OADestroy @objRegExp
RETURN null
END
EXEC @hr = sp_OAMethod @objRegExp, 'Replace', @result OUTPUT, @source, @replace
IF @hr <> 0 BEGIN
EXEC @hr = sp_OADestroy @objRegExp
RETURN null
END
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
RETURN null
END
RETURN @result
END
我測試了一下,沒有問題:(將字元'第'緊接後面連續出現的數字都替換成空)
print dbo.regexReplace('中國 統計 年鑒 2007 總 第26 期','第\d*','')
結果是 中國 統計 年鑒 2007 總 期
『伍』 SQL 選出以字元串開頭的記錄
:給你一個程序段,既有[精確]又有[模糊]兩種方式的查詢
SQL語句;只是我用VB6+SQL SERVER2000寫的.
共參考吧!
Private Sub CmdCX_Click()
On Error Resume Next
Dim sSQL, L_Name As String
Dim K_je As Double
mConn.Execute " Delete Bg_L_IOMX_1" '清過程用表
Clea_RowCol '清數據網格
'Text1.Text = "" '清除【條件】【提示】框的內容
'Set RS = CreateObject("ADODB.Recordset") ' New ADODB.Recordset
Set RS3 = New ADODB.Recordset
DT1 = Format(Trim(D1.Value), "yyyy-mm-dd")
DT2 = Format(Trim(D2.Value), "yyyy-mm-dd")
If DT1 = DT2 Then MsgBox "正確方法,應選擇<日期的區間>後,再進行【開始查詢】,OK!!", vbOKOnly, "操作提示": Exit Sub
' ##按;日期;數據;字元三種類型檢索//=#" & DT0 & "#///WHERE (((LP_001.被保險人名稱) Like "*安*"));
If Txt_TJ.Text = "" Then MsgBox "應填好【查詢條件】,再點擊【開始查詢】按鈕!!!", vbOKOnly, "操作提示": Exit Sub
If ComboCX.Text = "船員分類" Then
Txt_TJ.Text = Trim(UCase(Txt_TJ.Text)) & "%"
sSQL = " Select * From Bg_L_IOMX Where (((Bg_L_IOMX.分類) Like '" & Txt_TJ.Text & "')) and 日期>='" & DT1 & "' and 日期<='" & DT2 & "' Order by 編號"
End If
If ComboCX.Text = "船名" Then
sSQL = " Select * From Bg_L_IOMX where " & ComboCX.Text & " = '" & Txt_TJ.Text & "' And 出數量<>0 and 日期>='" & DT1 & "' and 日期<='" & DT2 & "' Order by 編號"
End If
If ComboCX.Text = "工號" Then
Txt_TJ.Text = Trim(UCase(Txt_TJ.Text)) & "%"
sSQL = " Select * From Bg_L_IOMX where ((Bg_L_IOMX.ID) Like '" & Txt_TJ.Text & "') and 日期>='" & DT1 & "' and 日期<='" & DT2 & "' Order by 編號"
End If
If ComboCX.Text = "姓名" Then
Txt_TJ.Text = Trim(UCase(Txt_TJ.Text)) & "%"
sSQL = " Select * From Bg_L_IOMX where ((Bg_L_IOMX.領用人) Like '" & Txt_TJ.Text & "') and 日期>='" & DT1 & "' and 日期<='" & DT2 & "' Order by 編號"
End If
If ComboCX.Text = "派遣號" Then
'Text1.Text = "【派遣號】可採用<精確>方式,註:組合=船名第1個字+上船時間的XXXX月日;進行【條件查詢】!"
sSQL = " Select * From Bg_L_IOMX where " & ComboCX.Text & " = '" & Txt_TJ.Text & "'And 出數量<>0 and 日期>='" & DT1 & "' and 日期<='" & DT2 & "' Order by 編號"
End If
mConn.Execute "Insert Into Bg_L_IOMX_1 " & sSQL
Call_MX '調用符合條件數據!!
End Sub
『陸』 sql 怎麼取 字元串的前幾位
sql中,使用LEFT函數即可取到字元串的前幾位。
LEFT(c, number_of_char)用於返回某個被請求的文本域的左側部分,其中c代表被請求的文本域,number_of_cha代表需要取出的字元串位數。如「LEFT("..com", 6)」即可取得字元串""。
(6)sql字元串開頭擴展閱讀:
sql中,常用函數介紹:
1、AVG():返回平均值
2、COUNT():返回行數
3、FIRST():返回第一個記錄的值
4、LAST():返回最後一個記錄的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回總和
8、UCASE():將某個欄位轉換為大寫
9、LCASE():將某個欄位轉換為小寫
10、MID():從某個文本欄位提取字元
11、LEN():返回某個文本欄位的長度
12、ROUND():對某個數值欄位進行指定小數位數的四捨五入
13、NOW():返回當前的系統日期和時間
14、FORMAT():格式化某個欄位的顯示方式
15、INSTR():返回在某個文本域中指定字元的數值位置
16、LEFT():返回某個被請求的文本域的左側部分
17、RIGHT():返回某個被請求的文本域的右側部分
『柒』 刪除sql資料庫中某列字元串的開頭部分相同的語句怎麼寫
delete from 表名 where 列名 like '開頭相同部分%'
『捌』 sql怎麼取字元串的前幾位
sql語句截取字元串前幾位語句:
select substr(cont_no,1,9) from for_contract
SUBSTRING ( expression , start , length )
expression:是字元串、二進制字元串、text、image、列或包含列的表達式。不要使用包含聚合函數的表達式。
start:是一個整數,指定子串的開始位置。
length:是一個整數,指定子串的長度(要返回的字元數或位元組數)。
eg:select id from users id的值是001.002$
select substring(ID,charindex('.',ID)+1,(charindex('$',ID)-charindex('.',ID)-1)) as idx
『玖』 sql怎麼辨認字元串的開頭是否在另一欄位里
select * from a join b on a.欄位 like b.欄位+'%'
這樣就行了