Ⅰ sql server中,查詢以a字母開頭且長度至少為3個字元的值,有些疑問
% 替代一個或多個字元,可以空,例如'a%'可以匹配'a'
_ 僅替代一個字元,'a_'不包括'a'
a開頭至少3個字元,應該是'a__%'.
'a_%_%'和'a_ _%'區別是前者中間可以多匹配一個或多個字元,這種寫法沒有意義;相當於'a%_%_%'之類,加再多也是一樣(因為%%包含_,僅用於表示至少一個字元)
Ⅱ SQL語句如何判斷某欄位是以字母開頭而不是漢
substring 函數返回第一個參數中從第二個參數指定的位置開始、第三個參數指定的長度的子字元串
select distinct tlid,題目內容 from 表 where substring(tlid,1,1)=substring('S01',1,1)
至於substring('S01',1,1)裡面的S01可以根據你所用的語言來獲得
Ⅲ 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中取字元的首字元怎麼寫
比如字元『s13dd』 取第一個就是
select left('s13dd') 或者 select substring('s13dd').
Ⅳ 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 總 期
Ⅵ 如何在mysql中查詢以某個字元開頭的表 如何在mysql中查詢以某個字元開頭的表
MYSQL沒有類似於MSSQLSERVER的sysobjects或者Oracle的dba_tab_comments這樣的表,但MYSQL可以用SHOW命令查詢資料庫和表、欄位、索引等信息:
一些SHOW語句提供額外的字元集信息。這些語句包括SHOW CHARACTER SET、SHOW COLLATION、SHOW CREATE DATABASE、SHOW CREATE TABLE和SHOW COLUMNS。
SHOW CHARACTER SET命令顯示全部可用的字元集。它帶有一個可選的LIKE子句來指示匹配哪些字元集名。例如:
mysql> SHOW CHARACTER SET LIKE 'latin%';
+---------+-----------------------------+-------------------+--------+
| Charset | Description | Default collation | Maxlen |
+---------+-----------------------------+-------------------+--------+
| latin1 | cp1252 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
+---------+-----------------------------+-------------------+--------+
見13.5.4.1節,「SHOW CHARACTER SET語法」。
SHOW COLLATION語句的輸出包括全部可用的字元集。它帶有一個可選的LIKE子句來指示匹配哪些 校對規則名。例如:
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1 | 5 | | | 0 |
| latin1_swedish_ci | latin1 | 8 | Yes | Yes | 0 |
| latin1_danish_ci | latin1 | 15 | | | 0 |
| latin1_german2_ci | latin1 | 31 | | Yes | 2 |
| latin1_bin | latin1 | 47 | | Yes | 0 |
| latin1_general_ci | latin1 | 48 | | | 0 |
| latin1_general_cs | latin1 | 49 | | | 0 |
| latin1_spanish_ci | latin1 | 94 | | | 0 |
+-------------------+---------+----+---------+----------+---------+
見13.5.4.2節,「SHOW COLLATION語法」。
SHOW CREATE DATABASE語句顯示創建給定資料庫的CREATE DATABASE語句。結果包括全部資料庫選項。支持DEFAULT CHARACTER SET和COLLATE。全部資料庫選項存儲在命名為db.Opt的文本文件中,該文件能夠在資料庫目錄中找到。
mysql> SHOW CREATE DATABASE test;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+-----------------------------------------------------------------+
見13.5.4.4節,「SHOW CREATE DATABASE語法」
SHOW CREATE TABLE與SHOW CREATE DATABASE相似,但是顯示創建給定資料庫的CREATE TABLE語句。列定義顯示任何字元集規格,並且表選項包括字元集信息。
見13.5.4.5節,「SHOW CREATE TABLE語法」
當以SHOW FULL COLUMNS調用時,SHOW COLUMNS語句顯示表中列的校對規則。具有CHAR、VARCHAR或TEXT數據類型的列有非NULL的 校對規則。數值列和其它非字元類型的列有NULL校對規則。例如:
mysql> SHOW FULL COLUMNS FROM person\G
*************************** 1. row ***************************
Field: id
Type: smallint(5) unsigned
Collation: NULL
Null: NO
Key: PRI
Default: NULL
Extra: auto_increment
Privileges: select,insert,update,references
Comment:
*************************** 2. row ***************************
Field: name
Type: char(60)
Collation: latin1_swedish_ci
Null: NO
Key:
Default:
Extra:
Privileges: select,insert,update,references
Comment:
字元集不是顯示的部分。(字元集名隱含在校對規則名中。)
Ⅶ sql中要查詢以某個字元串開始的記錄怎麼做呢
where left(name,3)='abc'