postgresql (PG) 字段用逗号 “,”隔开 判断是否含有某个值

如有一个student 学生表

student表中有字段 课程字段 分别用 1,2,3,4,5,6,7 表示不通的7门课程

CREATE TABLE student

(

name varchar(255),

course varchar(255)

)

insert into student (name ,course)

values (‘张三‘,‘1,2,5,7‘);

问题一、判断 张三 是否选择了 课程 2

select * from

where name = ‘张三‘

and string_to_array(course,‘,‘) @> array[‘2‘]

问题二、判断张三是否同时选择了课程2,6

select * from

where name = ‘张三‘

and string_to_array(course,‘,‘) @> array[‘2‘,‘6‘]

时间: 2024-10-08 23:08:16

postgresql (PG) 字段用逗号 “,”隔开 判断是否含有某个值的相关文章

查找某一字段用逗号隔开生成字符串

/** * 根据操作员ID获得该操作员的所有角色id所拼成的String,每个ID用“,”分隔 * @param operatorId 操作员ID * @return roleIds */ public String getRoleIdsByOperatorId(long operatorId) { // 得到操作员和角色列表 List<PmsRoleOperator> rpList = pmsRoleOperatorDao.listByOperatorId(operatorId); // 构

[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式

我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------> 从左边图转换成右边图,像这种需求,我们难免会遇到. 今天我写了个存储过程来解决这种问题.主要方式是利用master..spt_values表. 具体存储过程如下: -- Author: LHM -- Create date: 2015-01-10 -- Description: 把表中某一个列按照逗号拼接列表 --示例: EXEC [Sp_Str

SQL 把表中字段存储的逗号隔开内容转换成列表形式

原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------> 从左边图转换成右边图,像这种需求,我们难免会遇到. 今天我写了个存储过程来解决这种问题.主要方式是利用master..spt_values表. 具体存储过程如下: -- Author: LHM -- Create date: 2015-01-10 -- Description: 把

输入几个数字,用逗号隔开系列例题

输入n个数字,用逗号分隔 处理过程如下: char str[100]; char ch = '\0'; int i = 0; vector<int> v; int tmp = 0; cin >> str; while (str[i] != '\0'){         while (str[i]!='\0' && str[i] != ','){             tmp = tmp * 10 + str[i]-'0';             ++i; } v

oracle数据库将一列的值拼接成一行,并且各个值之间用逗号隔开

使用场景:把某一列值转换为逗号分隔的字符串 例子:比如查询所有的的表空间如下,现在要获得所有的表空间用逗号分隔的字符串(比如rman duplicate的时候skip表空间) SQL> select name from v$tablespace; NAME ------------------------------ SYSTEM SYSAUX CTXD APPS_TS_TX_DATA APPS_TS_TX_IDX OWAPUB APPS_TS_QUEUES ODM OLAP APPS_TS_T

Sql Server 列转逗号隔开的字符串 和 逆转

SELECT STUFF(( SELECT ',' + ModifyBy FROM dbo.tbl_stationprofile FOR XML PATH('') ), 1, 1, '') AS Name 逗号隔开的字符串转表 USE [MBG3SDB] GO /****** Object: UserDefinedFunction [dbo].[GetIDList] Script Date: 2017/9/12 10:13:38 ******/ SET ANSI_NULLS ON GO SET

字符串用逗号隔开;有逗号的字符串遍历

字符串用逗号隔开 js中 var ids="[]";var rowsData = $('#dg').datagrid('getSelections');for ( var i = 0; i < rowsData.length; i++) { ids.push(rowsData[i].id);}var str1 = ids.join(','); //1,2,3 var val = $(this).combobox('getValues').join(',');var str2=va

js 正则表达式 验证 ip列表--详情:页面中一个输入框,可输入1个或多个IP,使用英文逗号隔开

var isIp = function (){     var regexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;                  return function(value){         var valid = regexp.test(value);         if(!valid){//首先必须是 xxx.xxx.xxx.xxx 类型的数字,如果不是,返回false             return false;

Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开

准备: cat test.txt 1 3 4 示例: cat test.txt | xargs 1 3 4 可以看出得到的字符串为空格隔开的. 再把上面的字符串用逗号隔开,可以使用tr命令进行空格的替换 cat test.txt | xargs | tr ' ' ',' 不过tr命令只能替换单个字符,多个字符无法实现. 使用sed实现多个字符串的替换: cat test.txt | xargs | sed /s/ /','/g sed可以替换多个字符串,可以弥补tr的不足,后面g表示匹配多个.