本站Java鬥陣仔甘仔店為學徒程式開發教學學習,這裡有Java程式開發相關技術等學習交流。 主要提高開發程式效率同時分享一些開發程式經驗、深入探討開發程式體驗等技術和教學。 相關技術等學習交流語言(Languages)及框架工具(Software)/環境(Environment)/資料庫(Database)
目錄
- 首頁
- JAVA教學目錄
- JSP教學目錄
- Apache教學目錄
- Google App Engine教學目錄
- JBoss教學目錄
- Android教學目錄
- Grails教學目錄
- SSH教學目錄
- Window教學目錄
- Linux教學目錄
- PHP教學目錄
- C教學 C++教學 C開發工具 目錄
- jQuery教學目錄
- HTML5教學 CSS3教學 目錄
- Bootstrap 教學目錄
- JavaScript教學目錄
- MySQL教學目錄
- Oracle教學目錄
- SQL Server教學/PostgreSQL教學/其它資料庫教學目錄
- Eclipse開發工具及相關工具教學目錄
- 程式開發基本資訊目錄
- 微服務/相關工具
- 其它技術教學目錄
- ZK 相關
- 其它
- 推薦書品
- 程式開發學習之路
2012年8月28日 星期二
[MySQL]MySQL的replace用法,取代字串功能
1.replace into
replace into table (id,name) values(1,'MYSQL'),(2,'GG')
此語法的作用是將table中插入兩條記錄。
如果主鍵id為1或2不存在則做新增動作,如果已存在則做替換動作。
2.replace(object,search,replace)
把object中出现search的全部替換為replace
select replace('123QWERTYEEE','E','1')--->123QW1RTY111
例:把表table中的name字段中的123替换为456
update table set name=replace(name,'123','456')
參考網站
http://dev.mysql.com/doc/refman/5.0/en/replace.html
2012年2月7日 星期二
[MySQL]多行查詢結果欄位資料合併成單一行欄位資料 語法GROUP_CONCAT()
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[[SEPARATOR str_val])
*SEPARATOR是要用什麼為分割字
參考資料
例:
資料建立一個訂單明細的資料表。
CREATE TABLE products_table (
order_id bigint(20) NOT NULL default '0' COMMENT '關連訂單id',
product_name varchar(255) NOT NULL default '' COMMENT '產品名稱',
price bigint(20) NOT NULL default '0' COMMENT '價格'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO products_table(order_id,product_name,price)
VALUES
(1,"商品1",10),
(2,"商品1",10),
(3,"商品1",10),
(1,"商品2",20),
(1,"商品3",30),
(2,"商品4",40),
(2,"商品5",50),
(3,"商品6",60);
查詢語法1:(使用預設的)
SELECT p.order_id,
GROUP_CONCAT(p.product_name ) as '訂單產品明細'
FROM products_table AS p
GROUP BY p.order_id;
結果:
查詢語法2:(可修改設定,排序、分割子元。)
SELECT p.order_id,
GROUP_CONCAT(DISTINCT p.product_name
ORDER BY p.product_name DESC SEPARATOR ' ') as '訂單產品明細'
FROM products_table AS p
GROUP BY p.order_id;
結果:
2012年1月7日 星期六
[MySQL]字串合併、字串連接 語法CONCAT()
CONCAT(str1,str2,...)
用法例:
SELECT CONCAT('M','y','S','Q', 'L');
結果:MySQL
用法例:
SELECT CONCAT(user.username,user.password ) FROM user
2011年12月27日 星期二
[MySQL]字串長度與字串切割CHARACTER_LENGTH()、CHAR_LENGTH()、LENGTH()
字串長度測量函式分別是CHARACTER_LENGTH()、CHAR_LENGTH()、LENGTH()。
CHARACTER_LENGTH()、CHAR_LENGTH()是相同的,以UTF8來計算,中英文都可以計算。
LENGTH()也可以計算中英文,但對中文的計算會因編碼不同而計算不同,分別是UTF8一字三位,BIG5一字二位。
字串切割函式分別是SUBSTRING_INDEX(culomnName, exp, number)、SUBSTR(culomnName, startIndex, length)。
SUBSTRING_INDEX(culomnName, exp, number)︰
exp是你想開始切割的辨別字元。
number則是以正負數兩種區分,當輸入正數則顯示辨別字左方所有字元,當輸入負數則顯示右方所有字元,如果輸入0會無法辨別。
SUBSTR(culomnName, startIndex, length)︰
startIndex是欲切割起始的index,開頭第一位是1,如果輸入0會無法辨別。
length是自起始index想要切的長度,一字一位元包含空白字元也要算。
以下將由範例一一示範解說︰
使用SUBSTRING_INDEX(culomnName, exp, number)
SELECT username, SUBSTRING_INDEX(username, '.', 1)
FROM user
結果︰辨別字元是'.',輸入正數所以只出現左邊的所有字元
使用 SUBSTRING_INDEX(culomnName, exp, number) 但輸入負數
SELECT username, SUBSTRING_INDEX(username, '.', -1)
FROM user
結果︰只出現右邊所有字元
使用CHARACTER_LENGTH(),並且限定只有字元長度8的才能出現
SELECT username, CHARACTER_LENGTH(username)
FROM user
WHERE CHARACTER_LENGTH(username) = 8
使用CHAR_LENGTH(),順便練習一下字串切割,一樣限定字元長度8才能出現
SELECT username, SUBSTRING_INDEX(username, ' ', -1) , CHAR_LENGTH(username)
FROM user
WHERE CHAR_LENGTH(username) = 8
使用LENGTH(),因為資料是中英文夾雜所以條件使用CHARACTER_LENGTH()
SELECT username, LENGTH(username), CHARACTER_LENGTH(username)
FROM user
WHERE CHARACTER_LENGTH(username) = 8
使用SUBSTR(),起始以第1位開始切取4位元,並計算是否真的這個切割出來的字串有4位
SELECT username, SUBSTR(username, 1, 4), CHAR_LENGTH(SUBSTR(username, 1, 4))
FROM user
結果︰
總結︰以目前台灣人的資料而言使用CHARACTER_LENGTH()、CHAR_LENGTH(),會比較安全,但也要看資料庫的編碼而定,而在字串切割部份,兩種各有特色則是視需求選用了。
其它文章
CHARACTER_LENGTH()、CHAR_LENGTH()是相同的,以UTF8來計算,中英文都可以計算。
LENGTH()也可以計算中英文,但對中文的計算會因編碼不同而計算不同,分別是UTF8一字三位,BIG5一字二位。
字串切割函式分別是SUBSTRING_INDEX(culomnName, exp, number)、SUBSTR(culomnName, startIndex, length)。
SUBSTRING_INDEX(culomnName, exp, number)︰
exp是你想開始切割的辨別字元。
number則是以正負數兩種區分,當輸入正數則顯示辨別字左方所有字元,當輸入負數則顯示右方所有字元,如果輸入0會無法辨別。
SUBSTR(culomnName, startIndex, length)︰
startIndex是欲切割起始的index,開頭第一位是1,如果輸入0會無法辨別。
length是自起始index想要切的長度,一字一位元包含空白字元也要算。
以下將由範例一一示範解說︰
使用SUBSTRING_INDEX(culomnName, exp, number)
SELECT username, SUBSTRING_INDEX(username, '.', 1)
FROM user
結果︰辨別字元是'.',輸入正數所以只出現左邊的所有字元
使用 SUBSTRING_INDEX(culomnName, exp, number) 但輸入負數
SELECT username, SUBSTRING_INDEX(username, '.', -1)
FROM user
結果︰只出現右邊所有字元
使用CHARACTER_LENGTH(),並且限定只有字元長度8的才能出現
SELECT username, CHARACTER_LENGTH(username)
FROM user
WHERE CHARACTER_LENGTH(username) = 8
結果︰只有八位元的才能出現,值得注意的是此函式會把中文字也只算一個字元。
使用CHAR_LENGTH(),順便練習一下字串切割,一樣限定字元長度8才能出現
FROM user
WHERE CHAR_LENGTH(username) = 8
結果︰本次辨別字元改成空字元,從空字元開始往右全部字元皆顯示,搭配字元計算。
使用LENGTH(),因為資料是中英文夾雜所以條件使用CHARACTER_LENGTH()
SELECT username, LENGTH(username), CHARACTER_LENGTH(username)
FROM user
WHERE CHARACTER_LENGTH(username) = 8
結果︰條件使用CHARACTER_LENGTH()所以中文也算只有8位,但LENGTH()計算中文的時候則多出了6位,因為這份資料是用UTF8編碼,所以中文一字三位元。
使用SUBSTR(),起始以第1位開始切取4位元,並計算是否真的這個切割出來的字串有4位
SELECT username, SUBSTR(username, 1, 4), CHAR_LENGTH(SUBSTR(username, 1, 4))
FROM user
結果︰
總結︰以目前台灣人的資料而言使用CHARACTER_LENGTH()、CHAR_LENGTH(),會比較安全,但也要看資料庫的編碼而定,而在字串切割部份,兩種各有特色則是視需求選用了。
其它文章
2011年12月23日 星期五
[MySQL]把字串轉數字排序,使用CAST()函式
(把字串轉數字排序)欄位varchar型態,用數字型態排序,使用CAST()函式
drop table table_a;
CREATE TABLE table_a (
id bigint(10) NOT NULL AUTO_INCREMENT,
number varchar(255)DEFAULT NULL,
PRIMARY KEY (id)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into table_a(number) VALUES(1),(10),(5),(3),(2),(11),(14),(12),(13);
SELECT * FROM table_a AS a ORDER BY CAST(a.number AS UNSIGNED);
SELECT * FROM table_a AS a ORDER BY CAST(a.number AS decimal(10,0))
其它文章
drop table table_a;
CREATE TABLE table_a (
id bigint(10) NOT NULL AUTO_INCREMENT,
number varchar(255)DEFAULT NULL,
PRIMARY KEY (id)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into table_a(number) VALUES(1),(10),(5),(3),(2),(11),(14),(12),(13);
SELECT * FROM table_a AS a ORDER BY CAST(a.number AS UNSIGNED);
SELECT * FROM table_a AS a ORDER BY CAST(a.number AS decimal(10,0))
其它文章
2011年12月13日 星期二
[MySQL]函式ELT()從傳入的順位數值取出對應欄位的字串
ELT()從傳入的順位數值取出對應欄位的字串
ELT(N,str1,str2,str3,...)
N為傳入的順位數值
str1,str2,str3,...傳入的字串
若N=1,則回傳值為str1,
若N=2,則回傳值為str2,
以此類推。
若N小於1或大於參數的數目,
則回傳值為NULL。
ELT()是FIELD()的補數。
SELECT ELT(1,'live', 'love', 'like','llee');
'live'
SELECT ELT(4, 'live', 'love', 'like','llee');
'llee'
其它文章
ELT(N,str1,str2,str3,...)
N為傳入的順位數值
str1,str2,str3,...傳入的字串
若N=1,則回傳值為str1,
若N=2,則回傳值為str2,
以此類推。
若N小於1或大於參數的數目,
則回傳值為NULL。
ELT()是FIELD()的補數。
SELECT ELT(1,'live', 'love', 'like','llee');
'live'
SELECT ELT(4, 'live', 'love', 'like','llee');
'llee'
其它文章
[MySql]好用的比對函式FIELD() 回傳字串在列表中的順位
FIELD() 回傳字串在列表中的順位
FIELD(str,str1,str2,str3,...)
str傳入的字串
str1,str2是指傳入列表的字串
回傳值為字串str在str1, str2, str3,……列表中的順位。
在找不到str的情況下,回傳值為0。
如果所有對於FIELD()的參數均為字串,
則所有參數均按照字串進行比較。
如果所有的參數均為數字,則按照數字進行比較。
否則,參數按照double格式進行比較。
如果str為NULL,則回傳值為0,
原因是NULL不能同任何值進行同等比較。
FIELD()是ELT()的補數。
SELECT FIELD('live', 'live', 'love', 'like','llee');
1
SELECT FIELD('love', 'live', 'love', 'like','llee');
2
其它文章
FIELD(str,str1,str2,str3,...)
str傳入的字串
str1,str2是指傳入列表的字串
回傳值為字串str在str1, str2, str3,……列表中的順位。
在找不到str的情況下,回傳值為0。
如果所有對於FIELD()的參數均為字串,
則所有參數均按照字串進行比較。
如果所有的參數均為數字,則按照數字進行比較。
否則,參數按照double格式進行比較。
如果str為NULL,則回傳值為0,
原因是NULL不能同任何值進行同等比較。
FIELD()是ELT()的補數。
SELECT FIELD('live', 'live', 'love', 'like','llee');
1
SELECT FIELD('love', 'live', 'love', 'like','llee');
2
其它文章
2011年12月7日 星期三
[MySQL](字串數字轉換整數數字)使用conv函数
CONV ( N ,from_base,to_base)
轉換不同數量的進制之間的數字 。
返回一個數字的字符串表示 N,
從基本轉換 from_base(原進制) to_base(要轉換的進制)。
如果任何參數是 NULL,將 返回 NULL 。
參數 n 被解釋為一個整數,
但可能被指定為一個整數或字符串。
如果to_base 是一個負數,
N 被視為有符號數。
否則, N 被視為無符號。
CONV()與64位精度。
例:SELECT CONV("30",10,10) |
回傳是30 而不是"30"
SELECT CONV('A',16,2) |
回傳:1010
SELECT CONV('6 E“,18,8); |
回傳:172
SELECT CONV(-17,10,-18); |
回傳:- H
SELECT CONV(10 + '10'+ '10'0 XA,10,10); |
\
其它文章
訂閱:
文章 (Atom)
標籤
Oracle
(150)
Oracle DB
(144)
Oracle_DB
(143)
Oracle SQL
(135)
JAVA
(84)
css-基本類
(65)
MySQL
(59)
CSS Selector
(58)
jQuery
(49)
JavaScript-基本類
(39)
Spring Boot
(38)
JavaScript
(37)
JavaScript HTML DOM
(37)
JavaScript-HTML_DOM
(36)
CSS3
(30)
JAVA-基本類
(28)
jQuery UI
(27)
Apache
(23)
Oracle GROUP BY
(20)
datepicker
(20)
Android
(18)
Oracle Date
(17)
c
(17)
JAVA-lang套件
(16)
Linux
(16)
Oracle Sub Query
(16)
Spring-基本類
(16)
jQuery-基本類
(16)
MySQL-進階系列教學
(15)
Android基本類
(14)
Grails
(14)
Oracle join
(14)
SQLite
(13)
Spring
(13)
WIN7-基本類
(13)
grails-基本類
(13)
linux cent os
(13)
CKEditor
(12)
JAVA-流程控制類
(12)
JAVA_Spring
(12)
PHP
(11)
Spring MVC
(11)
MySQL-基本系列教學
(10)
Notepad
(10)
Notepad++
(10)
SQLite for java
(10)
Windows
(10)
c/c++
(10)
eclipse
(9)
jQuery-Selector
(9)
sqldeveloper
(9)
DB_Toad
(8)
JAVA_IDE_Eclipse
(8)
JavaScript-String類
(8)
MySQL DB Toad
(8)
MySQL-DATE相關
(8)
MySQL-函式相關
(8)
Spring Bean
(8)
Android Studio
(7)
HTML5
(7)
Hibernate
(7)
JAVA-OCWCD
(7)
JavaScript-陣列類
(7)
Docker
(6)
JAVA-程式分享
(6)
JAVA.util套件
(6)
JavaScript-數學類
(6)
MinGw
(6)
MySQL-其它類
(6)
Servlet
(6)
centos
(6)
Apache_Tomcat
(5)
Apache套件_POI
(5)
CSS
(5)
JavaScript-Date物件
(5)
JavaScript-其它類
(5)
PostgreSQL
(5)
httpd
(5)
log4j
(5)
基本資訊
(5)
開發工具
(5)
CSS Properties
(4)
Dev-C++
(4)
IntelliJ IDEA
(4)
Oracle DDL
(4)
Sublime
(4)
TortoiseSVN
(4)
apache_Maven
(4)
Android NDK
(3)
Eclipse IDE for C/C++
(3)
Hibernate-基本類
(3)
JAVA-問題
(3)
JAVA-綀習分享
(3)
JVM
(3)
Linux 指令
(3)
Proxy Server
(3)
Spring Mobile
(3)
Spring web
(3)
Squid
(3)
VirtualBox
(3)
maven
(3)
zk
(3)
生活其它
(3)
Bootstrap
(2)
Filter
(2)
JAVA_IO
(2)
JAVA_其它_itext套件
(2)
JBoss-問題
(2)
JSP
(2)
Jboss
(2)
Listener
(2)
MySQL-語法快速查詢
(2)
Spring AOP
(2)
Spring Batch
(2)
Spring Boot Actuator
(2)
Spring i18n
(2)
Subversive
(2)
Tomcat 8
(2)
UML
(2)
WebJars
(2)
WinMerge
(2)
c++
(2)
c語言綀習題
(2)
jQuery Mobile
(2)
jQuery-事件處理
(2)
jQuery-套件類
(2)
putty
(2)
svn
(2)
weblogic
(2)
Apache_JMeter
(1)
Apache套件_BeanUtils
(1)
Apache套件_StringUtils
(1)
Base64
(1)
Google API
(1)
HTML5-基本類
(1)
Heap
(1)
JAVA 7
(1)
JAVA SE 、JAVA EE、JAVA ME
(1)
JAVA 日期
(1)
JAVA-OCJP
(1)
JAVA-WEB
(1)
JAVA_IDE
(1)
JAVA其它
(1)
JBoss Server
(1)
JDK
(1)
JMX
(1)
JRE
(1)
Java RMI
(1)
Java String
(1)
Joda Time
(1)
Linux_其它
(1)
MySQL教學
(1)
Oracle_VirtualBox
(1)
SQL Server
(1)
SWT
(1)
Session
(1)
Stack
(1)
Struts 2
(1)
Tool
(1)
ZK Studio
(1)
csv
(1)
grails-其它類
(1)
jQuery-進階
(1)
java mail
(1)
java web
(1)
java8
(1)
jsoup
(1)
mockmvc
(1)
modules
(1)
tomcat
(1)
win10
(1)
其它類
(1)
圖片工具
(1)
模擬器
(1)
讀書分享
(1)
開發資訊
(1)
精選文章
初學 Java 的 HelloWorld 程式
撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...
