sql語句中查找某字段中含有某字符串的語句怎么寫
select filename from oa_file where filename not like '%[!-¥]%'
或者這個:
select filename from oa_file where filename not like '%[!-?]%'
出現的問題就是問號和問好也是不一樣的,比如說英文標點半角的問號是“?”,英文標點全角的問號是“?”但是中文半角問號是“?”中文全角的問號是“?”
這些都是不一樣的,你搜出來的都是帶有英文半角問號的文件。
擴展資料:
SQL中的字段“包含”與“包含于”字符串的寫法
1、查詢表中某字段值“包含”某字符串的所有記錄的方法
假如表中有一個name字段,查詢name包含“張三”的所有記錄,可以這樣寫sql:
Stirng strsql="SELECT * FROM 表名 WHERE name LIKE '%"+"張三"+"%'";
2、查詢某字段值“包含于”某個字符串的所有記錄的方法
如果查詢表中name字段包含于字符串“張三是個好學生”的所有記錄,可以這樣寫sql:
String strsql="SELECT * FROM 表名 WHERE INSTR('張三是個好學生',name)>0";
即可查詢,記錄中的name字段值中包括:張、三、是、個、好、學、生、張三、。。等所有記錄。
注:以上sql字符串中請將全角符號改為半角符號。
sql語句怎么在一個數據庫中查找擁有同一字段名的所有表
1、在Oracle中,這樣寫就可以解決了select column_name,table_name from user_tab_columns where column_name= 'test_name' 2、在SqlServer中,這樣寫就可以解決了SELECT COLUMN_NAME,TABLE_NAME FROM INFORMATION_*s WHERE COLUMN_NAME='test_name'【條件中一定要注意大小寫,希望可以幫到你】。
用sql語句查找一個字段值存在于哪張表,該怎么寫SQL語句
這需要用存儲過程來實現,基本方法如下,比如查找全庫中所有字段值為“張三”的屬于哪張表,可用如下方法: declare @cloumns varchar(40)declare @tablename varchar(40)declare @str varchar(40)declare @counts intdeclare @sql nvarchar(2000)declare MyCursor Cursor For Select * as Columns, * as TableName from syscolumns a,sysobjects b,systypes c where * = * * = 'U' and *=*nd * like '%char%'set @str='張三'Open MyCursorFetch next From MyCursor Into @cloumns,@tablenameWhile(@@Fetch_Status = 0)Begin set @sql='select @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''execute sp_executesql @sql,N'@tmp_counts int out',@counts out if @counts>0 begin print '表名為:'+@tablename+',字段名為'+@cloumns endFetch next From MyCursor Into @cloumns,@tablenameEndClose MyCursorDeallocate MyCursor結果如圖: 顯示的就是含有張三這個內容的表名及字段名。
怎樣用SQL語句查找出字符型字段內的最大值
你要說明該字段是什么類型的? 比如 number ,varchar ,date
如果是Number類型的字段的話就這樣即可完成:
select max(要查的字段) from 表名;
如果是字符類型的,那你是要查長度就長的還是? 我就幫你簡單寫一個長度的:
select max(length(要查的字段)) from 表名
如果是date時間類型的,你就可以當做是number類型的那樣查。
還有不明白的可以聯系,加分就行