当前位置:首页 » 编程语言 » sql字符串开头

sql字符串开头

发布时间: 2022-10-15 15:35:10

‘壹’ sql中要查询以某个字符串开始的记录怎么做呢

where left(name,3)='abc'

‘贰’ sql 提取第一个字符

sql怎样提取第一个字符的方法用到的是substring() 方法用于提取字符串中介于两个指定下标之间的字符。

  1. 返回值

    一个新的字符串,该字符串值包含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.字段+'%'
这样就行了

热点内容
sql两表更新 发布:2024-12-23 14:01:29 浏览:207
linux驱动spi 发布:2024-12-23 13:25:22 浏览:114
王思聪为什么配服务器 发布:2024-12-23 13:19:48 浏览:374
安卓型号代表什么 发布:2024-12-23 13:13:29 浏览:779
改密码哪里加问题 发布:2024-12-23 13:11:43 浏览:864
安卓手机多开哪个不卡 发布:2024-12-23 13:10:16 浏览:588
源码反码补码 发布:2024-12-23 13:09:25 浏览:259
方向算法 发布:2024-12-23 13:09:16 浏览:42
为什么安卓充电线充不上电了 发布:2024-12-23 13:06:14 浏览:223
配置管理由什么组成 发布:2024-12-23 12:57:47 浏览:561